|
|
@ -198,12 +198,39 @@ class FFmpegFD(ExternalFD): |
|
|
|
'-headers', |
|
|
|
''.join('%s: %s\r\n' % (key, val) for key, val in headers.items())] |
|
|
|
|
|
|
|
protocol = info_dict.get('protocol') |
|
|
|
|
|
|
|
if protocol == 'rtmp': |
|
|
|
player_url = info_dict.get('player_url') |
|
|
|
page_url = info_dict.get('page_url') |
|
|
|
app = info_dict.get('app') |
|
|
|
play_path = info_dict.get('play_path') |
|
|
|
tc_url = info_dict.get('tc_url') |
|
|
|
flash_version = info_dict.get('flash_version') |
|
|
|
live = info_dict.get('rtmp_live', False) |
|
|
|
if player_url is not None: |
|
|
|
args += ['-rtmp_swfverify', player_url] |
|
|
|
if page_url is not None: |
|
|
|
args += ['-rtmp_pageurl', page_url] |
|
|
|
if app is not None: |
|
|
|
args += ['-rtmp_app', app] |
|
|
|
if play_path is not None: |
|
|
|
args += ['-rtmp_playpath', play_path] |
|
|
|
if tc_url is not None: |
|
|
|
args += ['-rtmp_tcurl', tc_url] |
|
|
|
if flash_version is not None: |
|
|
|
args += ['-rtmp_flashver', flash_version] |
|
|
|
if live: |
|
|
|
args += ['-rtmp_live', 'live'] |
|
|
|
|
|
|
|
args += ['-i', url, '-c', 'copy'] |
|
|
|
if info_dict.get('protocol') == 'm3u8': |
|
|
|
if protocol == 'm3u8': |
|
|
|
if self.params.get('hls_use_mpegts', False): |
|
|
|
args += ['-f', 'mpegts'] |
|
|
|
else: |
|
|
|
args += ['-f', 'mp4', '-bsf:a', 'aac_adtstoasc'] |
|
|
|
elif protocol == 'rtmp': |
|
|
|
args += ['-f', 'flv'] |
|
|
|
else: |
|
|
|
args += ['-f', EXT_TO_OUT_FORMATS.get(info_dict['ext'], info_dict['ext'])] |
|
|
|
|
|
|
|