diff options
author | Nikoli <nikoli@gmx.us> | 2015-04-15 20:27:40 +0300 |
---|---|---|
committer | Jaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com> | 2015-05-01 11:54:40 +0200 |
commit | 083c1bb960715031aed63dfb834a5bdc5ac6ff9a (patch) | |
tree | 48dc6f6a8ffb4091e23b2cf39054977fe243ec70 /youtube_dl | |
parent | 861e65eb0573c824cf82e1f31b7169df2efa74ab (diff) |
Add ability to embed subtitles in mkv files (closes #5434)
Diffstat (limited to 'youtube_dl')
-rw-r--r-- | youtube_dl/options.py | 2 | ||||
-rw-r--r-- | youtube_dl/postprocessor/ffmpeg.py | 7 |
2 files changed, 5 insertions, 4 deletions
diff --git a/youtube_dl/options.py b/youtube_dl/options.py index 4c9d39d9a..d0aa8296d 100644 --- a/youtube_dl/options.py +++ b/youtube_dl/options.py @@ -698,7 +698,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 videos)') + help='Embed subtitles in the video (only for mkv and mp4 videos)') postproc.add_option( '--embed-thumbnail', action='store_true', dest='embedthumbnail', default=False, diff --git a/youtube_dl/postprocessor/ffmpeg.py b/youtube_dl/postprocessor/ffmpeg.py index 1765f4969..214de39f9 100644 --- a/youtube_dl/postprocessor/ffmpeg.py +++ b/youtube_dl/postprocessor/ffmpeg.py @@ -501,8 +501,8 @@ class FFmpegEmbedSubtitlePP(FFmpegPostProcessor): return cls._lang_map.get(code[:2]) def run(self, information): - if information['ext'] != 'mp4': - self._downloader.to_screen('[ffmpeg] Subtitles can only be embedded in mp4 files') + if information['ext'] not in ['mp4', 'mkv']: + self._downloader.to_screen('[ffmpeg] Subtitles can only be embedded in mp4 or mkv files') return [], information subtitles = information.get('requested_subtitles') if not subtitles: @@ -520,8 +520,9 @@ class FFmpegEmbedSubtitlePP(FFmpegPostProcessor): # Don't copy the existing subtitles, we may be running the # postprocessor a second time '-map', '-0:s', - '-c:s', 'mov_text', ] + if information['ext'] == 'mp4': + opts += ['-c:s', 'mov_text'] for (i, lang) in enumerate(sub_langs): opts.extend(['-map', '%d:0' % (i + 1)]) lang_code = self._conver_lang_code(lang) |