From 7fb0c05ff6b0359500c2f230d0af4cdf239e981a Mon Sep 17 00:00:00 2001 From: Riteo Date: Sun, 8 Sep 2024 13:04:59 +0200 Subject: [PATCH] Revert format check stuff --- yt_dlp/postprocessor/ffmpeg.py | 40 +++++++++++++--------------------- 1 file changed, 15 insertions(+), 25 deletions(-) diff --git a/yt_dlp/postprocessor/ffmpeg.py b/yt_dlp/postprocessor/ffmpeg.py index 730765bf37..616af58d81 100644 --- a/yt_dlp/postprocessor/ffmpeg.py +++ b/yt_dlp/postprocessor/ffmpeg.py @@ -219,25 +219,15 @@ class FFmpegPostProcessor(PostProcessor): @staticmethod def stream_copy_opts(copy=True, *, ext=None): - if ext in ('mkv', 'mka'): - yield from ('-map', '0') - - # Some streams, such as JSON attachments, are considered of unknown - # type by FFmpeg but we still want to copy them. - yield '-copy_unknown' - else: - # Other containers can get angry at malformed or unknown streams, - # so we'll keep only the ones that are "usable". - yield from ('-map', '0:u') - - # Most containers don't really like unknown streams. Let's make - # sure to get rid of them. - yield '-ignore_unknown' - + yield from ('-map', '0') # Don't copy Apple TV chapters track, bin_data # See https://github.com/yt-dlp/yt-dlp/issues/2, #19042, #19024, https://trac.ffmpeg.org/ticket/6016 yield '-dn' + # Some streams, such as JSON attachments, are considered of unknown + # type by FFmpeg but we still want to copy them. + yield '-copy_unknown' + if copy: yield from ('-c', 'copy') if ext in ('mp4', 'mov', 'm4a'): @@ -572,7 +562,7 @@ class FFmpegVideoConvertorPP(FFmpegPostProcessor): @staticmethod def _options(target_ext): - yield from FFmpegPostProcessor.stream_copy_opts(False, ext=target_ext) + yield from FFmpegPostProcessor.stream_copy_opts(False) if target_ext == 'avi': yield from ('-c:v', 'libxvid', '-vtag', 'XVID') @@ -598,7 +588,7 @@ class FFmpegVideoRemuxerPP(FFmpegVideoConvertorPP): @staticmethod def _options(target_ext): - return FFmpegPostProcessor.stream_copy_opts(ext=target_ext) + return FFmpegPostProcessor.stream_copy_opts() class FFmpegEmbedSubtitlePP(FFmpegPostProcessor): @@ -674,7 +664,7 @@ class FFmpegEmbedSubtitlePP(FFmpegPostProcessor): '-map', '-0:s', '-map', f'{i + 1}:0', - f'-metadata:s:s:{i}', f'language={lang_code}', + f'-metadata:s:s:{i}', f'language={lang_code}' ]) if name: @@ -710,7 +700,7 @@ class FFmpegMetadataPP(FFmpegPostProcessor): @staticmethod def _options(target_ext): audio_only = target_ext == 'm4a' - yield from FFmpegPostProcessor.stream_copy_opts(not audio_only, ext=target_ext) + yield from FFmpegPostProcessor.stream_copy_opts(not audio_only) if audio_only: yield from ('-vn', '-acodec', 'copy') @@ -909,7 +899,7 @@ class FFmpegFixupStretchedPP(FFmpegFixupPostProcessor): stretched_ratio = info.get('stretched_ratio') if stretched_ratio not in (None, 1): self._fixup('Fixing aspect ratio', info['filepath'], [ - *self.stream_copy_opts(ext=info['ext']), '-aspect', f'{stretched_ratio:f}']) + *self.stream_copy_opts(), '-aspect', f'{stretched_ratio:f}']) return [], info @@ -917,7 +907,7 @@ class FFmpegFixupM4aPP(FFmpegFixupPostProcessor): @PostProcessor._restrict_to(images=False, video=False) def run(self, info): if info.get('container') == 'm4a_dash': - self._fixup('Correcting container', info['filepath'], [*self.stream_copy_opts(ext=info['ext']), '-f', 'mp4']) + self._fixup('Correcting container', info['filepath'], [*self.stream_copy_opts(), '-f', 'mp4']) return [], info @@ -940,7 +930,7 @@ class FFmpegFixupM3u8PP(FFmpegFixupPostProcessor): if self.get_audio_codec(info['filepath']) == 'aac': args.extend(['-bsf:a', 'aac_adtstoasc']) self._fixup('Fixing MPEG-TS in MP4 container', info['filepath'], [ - *self.stream_copy_opts(ext=info['ext']), *args]) + *self.stream_copy_opts(), *args]) return [], info @@ -961,7 +951,7 @@ class FFmpegFixupTimestampPP(FFmpegFixupPostProcessor): opts = ['-vf', 'setpts=PTS-STARTPTS'] else: opts = ['-c', 'copy', '-bsf', 'setts=ts=TS-STARTPTS'] - self._fixup('Fixing frame timestamp', info['filepath'], [*opts, *self.stream_copy_opts(False, ext=info['ext']), '-ss', self.trim]) + self._fixup('Fixing frame timestamp', info['filepath'], [*opts, *self.stream_copy_opts(False), '-ss', self.trim]) return [], info @@ -970,7 +960,7 @@ class FFmpegCopyStreamPP(FFmpegFixupPostProcessor): @PostProcessor._restrict_to(images=False) def run(self, info): - self._fixup(self.MESSAGE, info['filepath'], self.stream_copy_opts(ext=info['ext'])) + self._fixup(self.MESSAGE, info['filepath'], self.stream_copy_opts()) return [], info @@ -1099,7 +1089,7 @@ class FFmpegSplitChaptersPP(FFmpegPostProcessor): self.to_screen(f'Splitting video by chapters; {len(chapters)} chapters found') for idx, chapter in enumerate(chapters): destination, opts = self._ffmpeg_args_for_chapter(idx + 1, chapter, info) - self.real_run_ffmpeg([(in_file, opts)], [(destination, self.stream_copy_opts(ext=info['ext']))]) + self.real_run_ffmpeg([(in_file, opts)], [(destination, self.stream_copy_opts())]) if in_file != info['filepath']: self._delete_downloaded_files(in_file, msg=None) return [], info