[postprocessor/ffmpeg] Allow embedding subtitles in m4a

This commit is contained in:
kikuyan 2021-08-17 13:26:57 +09:00
parent a803582717
commit 84ccbf171e
2 changed files with 4 additions and 4 deletions

View File

@ -813,7 +813,7 @@ def parseOpts(overrideArguments=None):
postproc.add_option(
'--embed-subs',
action='store_true', dest='embedsubtitles', default=False,
help='Embed subtitles in the video (only for mp4, webm and mkv videos)')
help='Embed subtitles in the video or audio (only for mp4, m4a, webm and mkv files)')
postproc.add_option(
'--embed-thumbnail',
action='store_true', dest='embedthumbnail', default=False,

View File

@ -377,8 +377,8 @@ class FFmpegVideoConvertorPP(FFmpegPostProcessor):
class FFmpegEmbedSubtitlePP(FFmpegPostProcessor):
def run(self, information):
if information['ext'] not in ('mp4', 'webm', 'mkv'):
self._downloader.to_screen('[ffmpeg] Subtitles can only be embedded in mp4, webm or mkv files')
if information['ext'] not in ('mp4', 'm4a', 'webm', 'mkv'):
self._downloader.to_screen('[ffmpeg] Subtitles can only be embedded in mp4, m4a, webm or mkv files')
return [], information
subtitles = information.get('requested_subtitles')
if not subtitles:
@ -417,7 +417,7 @@ class FFmpegEmbedSubtitlePP(FFmpegPostProcessor):
# https://trac.ffmpeg.org/ticket/6016)
'-map', '-0:d',
]
if information['ext'] == 'mp4':
if information['ext'] in ('mp4', 'm4a'):
opts += ['-c:s', 'mov_text']
for (i, lang) in enumerate(sub_langs):
opts.extend(['-map', '%d:0' % (i + 1)])