Revert "[ffmpeg] Fix embedding subtitles (#9063)"
This reverts commit ccff2c404d.
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'.
			
			
This commit is contained in:
		
							parent
							
								
									224db034ab
								
							
						
					
					
						commit
						23495d6a39
					
				
					 1 changed files with 2 additions and 4 deletions
				
			
		| 
						 | 
					@ -363,10 +363,8 @@ class FFmpegEmbedSubtitlePP(FFmpegPostProcessor):
 | 
				
			||||||
        input_files = [filename] + sub_filenames
 | 
					        input_files = [filename] + sub_filenames
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        opts = [
 | 
					        opts = [
 | 
				
			||||||
            '-map', '0:v',
 | 
					            '-map', '0',
 | 
				
			||||||
            '-c:v', 'copy',
 | 
					            '-c', 'copy',
 | 
				
			||||||
            '-map', '0:a',
 | 
					 | 
				
			||||||
            '-c:a', 'copy',
 | 
					 | 
				
			||||||
            # Don't copy the existing subtitles, we may be running the
 | 
					            # Don't copy the existing subtitles, we may be running the
 | 
				
			||||||
            # postprocessor a second time
 | 
					            # postprocessor a second time
 | 
				
			||||||
            '-map', '-0:s',
 | 
					            '-map', '-0:s',
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue