1
0
Fork 0
mirror of https://github.com/ytdl-org/youtube-dl.git synced 2024-09-21 10:55:32 +00:00

[downloader/ffmpeg] Add override option for FFmpeg output args

This commit is contained in:
Inias Peeters 2021-10-29 14:44:59 +02:00
parent a803582717
commit bea7488c6f
No known key found for this signature in database
GPG key ID: 47BA7FAAD242DEE1
3 changed files with 12 additions and 1 deletions

View file

@ -310,6 +310,9 @@ def _real_main(argv=None):
postprocessor_args = None postprocessor_args = None
if opts.postprocessor_args: if opts.postprocessor_args:
postprocessor_args = compat_shlex_split(opts.postprocessor_args) postprocessor_args = compat_shlex_split(opts.postprocessor_args)
ffmpeg_out_override = None
if opts.ffmpeg_out_override:
ffmpeg_out_override = compat_shlex_split(opts.ffmpeg_out_override)
match_filter = ( match_filter = (
None if opts.match_filter is None None if opts.match_filter is None
else match_filter_func(opts.match_filter)) else match_filter_func(opts.match_filter))
@ -427,6 +430,7 @@ def _real_main(argv=None):
'hls_prefer_native': opts.hls_prefer_native, 'hls_prefer_native': opts.hls_prefer_native,
'hls_use_mpegts': opts.hls_use_mpegts, 'hls_use_mpegts': opts.hls_use_mpegts,
'external_downloader_args': external_downloader_args, 'external_downloader_args': external_downloader_args,
'ffmpeg_out_override': ffmpeg_out_override,
'postprocessor_args': postprocessor_args, 'postprocessor_args': postprocessor_args,
'cn_verification_proxy': opts.cn_verification_proxy, 'cn_verification_proxy': opts.cn_verification_proxy,
'geo_verification_proxy': opts.geo_verification_proxy, 'geo_verification_proxy': opts.geo_verification_proxy,

View file

@ -311,7 +311,10 @@ class FFmpegFD(ExternalFD):
elif isinstance(conn, compat_str): elif isinstance(conn, compat_str):
args += ['-rtmp_conn', conn] args += ['-rtmp_conn', conn]
args += ['-i', url, '-c', 'copy'] args += ['-i', url]
ffmpeg_out_override = self.params.get('ffmpeg_out_override')
args += ffmpeg_out_override if ffmpeg_out_override else ['-c', 'copy']
if self.params.get('test', False): if self.params.get('test', False):
args += ['-fs', compat_str(self._TEST_FILE_SIZE)] args += ['-fs', compat_str(self._TEST_FILE_SIZE)]

View file

@ -525,6 +525,10 @@ def parseOpts(overrideArguments=None):
'--external-downloader-args', '--external-downloader-args',
dest='external_downloader_args', metavar='ARGS', dest='external_downloader_args', metavar='ARGS',
help='Give these arguments to the external downloader') help='Give these arguments to the external downloader')
downloader.add_option(
'--ffmpeg-out-override',
dest='ffmpeg_out_override', metavar='ARGS',
help='Give these arguments to the ffmpeg instead of `-c copy`')
workarounds = optparse.OptionGroup(parser, 'Workarounds') workarounds = optparse.OptionGroup(parser, 'Workarounds')
workarounds.add_option( workarounds.add_option(