Преглед на файлове

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'.
Yen Chi Hsuan преди 9 години
родител
ревизия
23495d6a39
променени са 1 файла, в които са добавени 2 реда и са изтрити 4 реда
  1. 2 4
      youtube_dl/postprocessor/ffmpeg.py

+ 2 - 4
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',