|
|
|
@ -3656,7 +3656,7 @@ def get_compatible_ext(*, vcodecs, acodecs, vexts, aexts, preferences=None):
|
|
|
|
|
|
|
|
|
|
COMPATIBLE_EXTS = (
|
|
|
|
|
{'mp3', 'mp4', 'm4a', 'm4p', 'm4b', 'm4r', 'm4v', 'ismv', 'isma', 'mov'},
|
|
|
|
|
{'webm'},
|
|
|
|
|
{'webm', 'weba'},
|
|
|
|
|
)
|
|
|
|
|
for ext in preferences or vexts:
|
|
|
|
|
current_exts = {ext, *vexts, *aexts}
|
|
|
|
@ -5962,7 +5962,7 @@ MEDIA_EXTENSIONS = Namespace(
|
|
|
|
|
common_video=('avi', 'flv', 'mkv', 'mov', 'mp4', 'webm'),
|
|
|
|
|
video=('3g2', '3gp', 'f4v', 'mk3d', 'divx', 'mpg', 'ogv', 'm4v', 'wmv'),
|
|
|
|
|
common_audio=('aiff', 'alac', 'flac', 'm4a', 'mka', 'mp3', 'ogg', 'opus', 'wav'),
|
|
|
|
|
audio=('aac', 'ape', 'asf', 'f4a', 'f4b', 'm4b', 'm4p', 'm4r', 'oga', 'ogx', 'spx', 'vorbis', 'wma'),
|
|
|
|
|
audio=('aac', 'ape', 'asf', 'f4a', 'f4b', 'm4b', 'm4p', 'm4r', 'oga', 'ogx', 'spx', 'vorbis', 'wma', 'weba'),
|
|
|
|
|
thumbnails=('jpg', 'png', 'webp'),
|
|
|
|
|
storyboards=('mhtml', ),
|
|
|
|
|
subtitles=('srt', 'vtt', 'ass', 'lrc'),
|
|
|
|
@ -6094,9 +6094,9 @@ class FormatSorter:
|
|
|
|
|
'vext': {'type': 'ordered', 'field': 'video_ext',
|
|
|
|
|
'order': ('mp4', 'mov', 'webm', 'flv', '', 'none'),
|
|
|
|
|
'order_free': ('webm', 'mp4', 'mov', 'flv', '', 'none')},
|
|
|
|
|
'aext': {'type': 'ordered', 'field': 'audio_ext',
|
|
|
|
|
'order': ('m4a', 'aac', 'mp3', 'ogg', 'opus', 'webm', '', 'none'),
|
|
|
|
|
'order_free': ('ogg', 'opus', 'webm', 'mp3', 'm4a', 'aac', '', 'none')},
|
|
|
|
|
'aext': {'type': 'ordered', 'regex': True, 'field': 'audio_ext',
|
|
|
|
|
'order': ('m4a', 'aac', 'mp3', 'ogg', 'opus', 'web[am]', '', 'none'),
|
|
|
|
|
'order_free': ('ogg', 'opus', 'web[am]', 'mp3', 'm4a', 'aac', '', 'none')},
|
|
|
|
|
'hidden': {'visible': False, 'forced': True, 'type': 'extractor', 'max': -1000},
|
|
|
|
|
'aud_or_vid': {'visible': False, 'forced': True, 'type': 'multiple',
|
|
|
|
|
'field': ('vcodec', 'acodec'),
|
|
|
|
|