diff options
| author | Yen Chi Hsuan <yan12125@gmail.com> | 2015-04-25 23:15:05 +0800 | 
|---|---|---|
| committer | Yen Chi Hsuan <yan12125@gmail.com> | 2015-04-25 23:18:27 +0800 | 
| commit | bf6427d2fbcbd95cd1cb640e8b894c18782a2a12 (patch) | |
| tree | 0b84e18ba8a76b71c169ede701e21947e6eccacf /youtube_dl/postprocessor/ffmpeg.py | |
| parent | 672f1bd8497f43179dcd01f8b4831564f0b42356 (diff) | |
[ffmpeg] Add dfxp (TTML) subtitles support (#3432, #5146)
Diffstat (limited to 'youtube_dl/postprocessor/ffmpeg.py')
| -rw-r--r-- | youtube_dl/postprocessor/ffmpeg.py | 25 | 
1 files changed, 25 insertions, 0 deletions
diff --git a/youtube_dl/postprocessor/ffmpeg.py b/youtube_dl/postprocessor/ffmpeg.py index 7a952963e..1765f4969 100644 --- a/youtube_dl/postprocessor/ffmpeg.py +++ b/youtube_dl/postprocessor/ffmpeg.py @@ -20,6 +20,7 @@ from ..utils import (      prepend_extension,      shell_quote,      subtitles_filename, +    dfxp2srt,  ) @@ -651,6 +652,30 @@ class FFmpegSubtitlesConvertorPP(FFmpegPostProcessor):                      'format' % new_ext)                  continue              new_file = subtitles_filename(filename, lang, new_ext) + +            if ext == 'dfxp' or ext == 'ttml': +                self._downloader.report_warning( +                    'You have requested to convert dfxp (TTML) subtitles into another format, ' +                    'which results in style information loss') + +                dfxp_file = subtitles_filename(filename, lang, ext) +                srt_file = subtitles_filename(filename, lang, 'srt') + +                with io.open(dfxp_file, 'rt', encoding='utf-8') as f: +                    srt_data = dfxp2srt(f.read()) + +                with io.open(srt_file, 'wt', encoding='utf-8') as f: +                    f.write(srt_data) + +                ext = 'srt' +                subs[lang] = { +                    'ext': 'srt', +                    'data': srt_data +                } + +                if new_ext == 'srt': +                    continue +              self.run_ffmpeg(                  subtitles_filename(filename, lang, ext),                  new_file, ['-f', new_format])  | 
