mirror of https://github.com/blackjack4494/yt-dlc
[ffmpeg] Document more formats that are supported for remux/recode
This commit is contained in:
parent
02fd60d305
commit
179122495b
|
@ -15,6 +15,7 @@ import sys
|
||||||
|
|
||||||
from .options import (
|
from .options import (
|
||||||
parseOpts,
|
parseOpts,
|
||||||
|
_remux_formats,
|
||||||
)
|
)
|
||||||
from .compat import (
|
from .compat import (
|
||||||
compat_getpass,
|
compat_getpass,
|
||||||
|
@ -209,12 +210,15 @@ def _real_main(argv=None):
|
||||||
opts.audioquality = opts.audioquality.strip('k').strip('K')
|
opts.audioquality = opts.audioquality.strip('k').strip('K')
|
||||||
if not opts.audioquality.isdigit():
|
if not opts.audioquality.isdigit():
|
||||||
parser.error('invalid audio quality specified')
|
parser.error('invalid audio quality specified')
|
||||||
if opts.remuxvideo is not None:
|
|
||||||
if opts.remuxvideo not in ['mp4', 'mkv']:
|
|
||||||
parser.error('invalid video container format specified')
|
|
||||||
if opts.recodevideo is not None:
|
if opts.recodevideo is not None:
|
||||||
if opts.recodevideo not in ['mp4', 'flv', 'webm', 'ogg', 'mkv', 'avi']:
|
if opts.recodevideo not in _remux_formats:
|
||||||
parser.error('invalid video recode format specified')
|
parser.error('invalid video recode format specified')
|
||||||
|
if opts.remuxvideo and opts.recodevideo:
|
||||||
|
opts.remuxvideo = None
|
||||||
|
write_string('WARNING: --remux-video is ignored since --recode-video was given\n', out=sys.stderr)
|
||||||
|
if opts.remuxvideo is not None:
|
||||||
|
if opts.remuxvideo not in _remux_formats:
|
||||||
|
parser.error('invalid video remux format specified')
|
||||||
if opts.convertsubtitles is not None:
|
if opts.convertsubtitles is not None:
|
||||||
if opts.convertsubtitles not in ['srt', 'vtt', 'ass', 'lrc']:
|
if opts.convertsubtitles not in ['srt', 'vtt', 'ass', 'lrc']:
|
||||||
parser.error('invalid subtitle format specified')
|
parser.error('invalid subtitle format specified')
|
||||||
|
|
|
@ -22,6 +22,9 @@ from .utils import (
|
||||||
from .version import __version__
|
from .version import __version__
|
||||||
|
|
||||||
|
|
||||||
|
_remux_formats = ('mp4', 'mkv', 'flv', 'webm', 'mov', 'avi', 'mp3', 'mka', 'm4a', 'ogg', 'opus')
|
||||||
|
|
||||||
|
|
||||||
def _hide_login_info(opts):
|
def _hide_login_info(opts):
|
||||||
PRIVATE_OPTS = set(['-p', '--password', '-u', '--username', '--video-password', '--ap-password', '--ap-username'])
|
PRIVATE_OPTS = set(['-p', '--password', '-u', '--username', '--video-password', '--ap-password', '--ap-username'])
|
||||||
eqre = re.compile('^(?P<key>' + ('|'.join(re.escape(po) for po in PRIVATE_OPTS)) + ')=.+$')
|
eqre = re.compile('^(?P<key>' + ('|'.join(re.escape(po) for po in PRIVATE_OPTS)) + ')=.+$')
|
||||||
|
@ -1017,14 +1020,16 @@ def parseOpts(overrideArguments=None):
|
||||||
'--remux-video',
|
'--remux-video',
|
||||||
metavar='FORMAT', dest='remuxvideo', default=None,
|
metavar='FORMAT', dest='remuxvideo', default=None,
|
||||||
help=(
|
help=(
|
||||||
'Remux the video into another container if necessary (currently supported: mp4|mkv). '
|
'Remux the video into another container if necessary (currently supported: %s). '
|
||||||
'If target container does not support the video/audio codec, remuxing will fail. '
|
'If target container does not support the video/audio codec, remuxing will fail. '
|
||||||
'You can specify multiple rules; eg. "aac>m4a/mov>mp4/mkv" will remux aac to m4a, mov to mp4 '
|
'You can specify multiple rules; eg. "aac>m4a/mov>mp4/mkv" will remux aac to m4a, mov to mp4 '
|
||||||
'and anything else to mkv.'))
|
'and anything else to mkv.' % '|'.join(_remux_formats)))
|
||||||
postproc.add_option(
|
postproc.add_option(
|
||||||
'--recode-video',
|
'--recode-video',
|
||||||
metavar='FORMAT', dest='recodevideo', default=None,
|
metavar='FORMAT', dest='recodevideo', default=None,
|
||||||
help='Re-encode the video into another format if re-encoding is necessary (currently supported: mp4|flv|ogg|webm|mkv|avi)')
|
help=(
|
||||||
|
'Re-encode the video into another format if re-encoding is necessary. '
|
||||||
|
'The supported formats are the same as --remux-video'))
|
||||||
postproc.add_option(
|
postproc.add_option(
|
||||||
'--postprocessor-args', '--ppa',
|
'--postprocessor-args', '--ppa',
|
||||||
metavar='NAME:ARGS', dest='postprocessor_args', default={}, type='str',
|
metavar='NAME:ARGS', dest='postprocessor_args', default={}, type='str',
|
||||||
|
|
|
@ -402,7 +402,7 @@ class FFmpegVideoRemuxerPP(FFmpegPostProcessor):
|
||||||
else 'already is in target format %s' if sourceext == targetext
|
else 'already is in target format %s' if sourceext == targetext
|
||||||
else None)
|
else None)
|
||||||
if _skip_msg:
|
if _skip_msg:
|
||||||
self.to_screen('Not remuxing media file %s - %s' % (path, _skip_msg % sourceext))
|
self.to_screen('Not remuxing media file %s; %s' % (path, _skip_msg % sourceext))
|
||||||
return [], information
|
return [], information
|
||||||
|
|
||||||
options = ['-c', 'copy', '-map', '0', '-dn']
|
options = ['-c', 'copy', '-map', '0', '-dn']
|
||||||
|
|
Loading…
Reference in New Issue