Browse Source

Merge pull request #205 from pukkandan/ffmpeg-use-map

[ffmpeg] Ensure all streams are copied
pull/100/merge
Tom-Oliver Heidel 1 year ago
committed by GitHub
parent
commit
bccdb02e93
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 8 deletions
  1. +3
    -2
      youtube_dlc/postprocessor/embedthumbnail.py
  2. +5
    -6
      youtube_dlc/postprocessor/ffmpeg.py

+ 3
- 2
youtube_dlc/postprocessor/embedthumbnail.py View File

@@ -94,7 +94,8 @@ class EmbedThumbnailPP(FFmpegPostProcessor):
thumbnail_filename = 'cover.jpg'

options = [
'-c', 'copy', '-attach', thumbnail_filename, '-metadata:s:t', 'mimetype=image/jpeg']
'-c', 'copy', '-map', '0',
'-attach', thumbnail_filename, '-metadata:s:t', 'mimetype=image/jpeg']

self._downloader.to_screen('[ffmpeg] Adding thumbnail to "%s"' % filename)

@@ -140,6 +141,6 @@ class EmbedThumbnailPP(FFmpegPostProcessor):
os.remove(encodeFilename(filename))
os.rename(encodeFilename(temp_filename), encodeFilename(filename))
else:
raise EmbedThumbnailPPError('Only mp3 and m4a/mp4 are supported for thumbnail embedding for now.')
raise EmbedThumbnailPPError('Only mp3, mkv, m4a and mp4 are supported for thumbnail embedding for now.')

return [], info

+ 5
- 6
youtube_dlc/postprocessor/ffmpeg.py View File

@@ -359,7 +359,7 @@ class FFmpegVideoRemuxerPP(FFmpegPostProcessor):
if information['ext'] == self._preferedformat:
self._downloader.to_screen('[ffmpeg] Not remuxing video file %s - already is in target format %s' % (path, self._preferedformat))
return [], information
options = ['-c', 'copy']
options = ['-c', 'copy', '-map', '0']
prefix, sep, ext = path.rpartition('.')
outpath = prefix + sep + self._preferedformat
self._downloader.to_screen('[' + 'ffmpeg' + '] Remuxing video from %s to %s, Destination: ' % (information['ext'], self._preferedformat) + outpath)
@@ -428,8 +428,7 @@ class FFmpegEmbedSubtitlePP(FFmpegPostProcessor):
input_files = [filename] + sub_filenames

opts = [
'-map', '0',
'-c', 'copy',
'-c', 'copy', '-map', '0',
# Don't copy the existing subtitles, we may be running the
# postprocessor a second time
'-map', '-0:s',
@@ -579,7 +578,7 @@ class FFmpegFixupStretchedPP(FFmpegPostProcessor):
filename = info['filepath']
temp_filename = prepend_extension(filename, 'temp')

options = ['-c', 'copy', '-aspect', '%f' % stretched_ratio]
options = ['-c', 'copy', '-map', '0', '-aspect', '%f' % stretched_ratio]
self._downloader.to_screen('[ffmpeg] Fixing aspect ratio in "%s"' % filename)
self.run_ffmpeg(filename, temp_filename, options)

@@ -597,7 +596,7 @@ class FFmpegFixupM4aPP(FFmpegPostProcessor):
filename = info['filepath']
temp_filename = prepend_extension(filename, 'temp')

options = ['-c', 'copy', '-f', 'mp4']
options = ['-c', 'copy', '-map', '0', '-f', 'mp4']
self._downloader.to_screen('[ffmpeg] Correcting container in "%s"' % filename)
self.run_ffmpeg(filename, temp_filename, options)

@@ -613,7 +612,7 @@ class FFmpegFixupM3u8PP(FFmpegPostProcessor):
if self.get_audio_codec(filename) == 'aac':
temp_filename = prepend_extension(filename, 'temp')

options = ['-c', 'copy', '-f', 'mp4', '-bsf:a', 'aac_adtstoasc']
options = ['-c', 'copy', '-map', '0', '-f', 'mp4', '-bsf:a', 'aac_adtstoasc']
self._downloader.to_screen('[ffmpeg] Fixing malformed AAC bitstream in "%s"' % filename)
self.run_ffmpeg(filename, temp_filename, options)



Loading…
Cancel
Save