From 23495d6a39d357989bf507c0bbb7c022e7a9e2c7 Mon Sep 17 00:00:00 2001 From: Yen Chi Hsuan Date: Fri, 15 Jul 2016 19:53:10 +0800 Subject: [PATCH] Revert "[ffmpeg] Fix embedding subtitles (#9063)" This reverts commit ccff2c404d7ea9f5b21ede8ae57bb79feec7eb94. Fixes #10081. The new approach breaks embedding subtitles into video-only or audio-only files. FFMpeg provides a trick: add '?' after the argument of '-map' so that a missing stream is ignored. For example: opts = [ '-map', '0:v?', '-c:v', 'copy', '-map', '0:a?', '-c:a', 'copy', # other options... ] Unfortunately, such a format is not implemented in avconv, either. I guess adding '-ignore_unknown' if self.basename == 'ffmpeg' is the best solution. However, the example mentioned in #9063 no longer serves problematic files, so I can't test it. I'll reopen #9063 and wait for another example so that I can test '-ignore_unknown'. --- youtube_dl/postprocessor/ffmpeg.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/youtube_dl/postprocessor/ffmpeg.py b/youtube_dl/postprocessor/ffmpeg.py index c1e9eb159..fa99b0c2a 100644 --- a/youtube_dl/postprocessor/ffmpeg.py +++ b/youtube_dl/postprocessor/ffmpeg.py @@ -363,10 +363,8 @@ class FFmpegEmbedSubtitlePP(FFmpegPostProcessor): input_files = [filename] + sub_filenames opts = [ - '-map', '0:v', - '-c:v', 'copy', - '-map', '0:a', - '-c:a', 'copy', + '-map', '0', + '-c', 'copy', # Don't copy the existing subtitles, we may be running the # postprocessor a second time '-map', '-0:s',