about summary refs log tree commit diff
path: root/youtube_dl/postprocessor/ffmpeg.py
diff options
context:
space:
mode:
authorYen Chi Hsuan <yan12125@gmail.com>2016-07-15 19:53:10 +0800
committerYen Chi Hsuan <yan12125@gmail.com>2016-07-15 20:02:36 +0800
commit23495d6a39d357989bf507c0bbb7c022e7a9e2c7 (patch)
treea20f8745d6618e55092874f605c0db10b09ef54c /youtube_dl/postprocessor/ffmpeg.py
parent224db034abf7dff24898ae51cbe17fb1cc0d9e00 (diff)
downloadyoutube-dl-23495d6a39d357989bf507c0bbb7c022e7a9e2c7.tar.gz
youtube-dl-23495d6a39d357989bf507c0bbb7c022e7a9e2c7.tar.xz
youtube-dl-23495d6a39d357989bf507c0bbb7c022e7a9e2c7.zip
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'.
Diffstat (limited to 'youtube_dl/postprocessor/ffmpeg.py')
-rw-r--r--youtube_dl/postprocessor/ffmpeg.py6
1 files 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',