From aa1f5c76897f4f94ade024f1e27a356607c6d6a4 Mon Sep 17 00:00:00 2001 From: Isaac Schmidt Date: Wed, 28 Jun 2023 21:05:29 -0400 Subject: [PATCH 1/2] save decrypted fragments using my preferred naming scheme --- yt_dlp/downloader/fragment.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/yt_dlp/downloader/fragment.py b/yt_dlp/downloader/fragment.py index 458167216..be068c0aa 100644 --- a/yt_dlp/downloader/fragment.py +++ b/yt_dlp/downloader/fragment.py @@ -515,7 +515,11 @@ class FragmentFD(FileDownloader): 'fragment_filename_sanitized': frag_filename, 'fragment_index': frag_index, }) - if not append_fragment(decrypt_fragment(fragment, self._read_fragment(ctx)), frag_index, ctx): + decrypted_fragment = decrypt_fragment(fragment, self._read_fragment(ctx)) + if self.params.get('keep_fragments', False): + f, _ = self.sanitize_open(format(fragment['frag_index'], '05d') + '.ts', 'wb') + f.write(decrypted_fragment) + if not append_fragment(decrypted_fragment, frag_index, ctx): return False except KeyboardInterrupt: self._finish_multiline_status() @@ -529,8 +533,11 @@ class FragmentFD(FileDownloader): break try: download_fragment(fragment, ctx) - result = append_fragment( - decrypt_fragment(fragment, self._read_fragment(ctx)), fragment['frag_index'], ctx) + decrypted_fragment = decrypt_fragment(fragment, self._read_fragment(ctx)) + if self.params.get('keep_fragments', False): + f, _ = self.sanitize_open(format(fragment['frag_index'], '05d') + '.ts', 'wb') + f.write(decrypted_fragment) + result = append_fragment(decrypted_fragment, fragment['frag_index'], ctx) except KeyboardInterrupt: if info_dict.get('is_live'): break From 732929ae3864067990004e1025177ef5bbc08f91 Mon Sep 17 00:00:00 2001 From: Isaac Schmidt Date: Wed, 28 Jun 2023 21:07:26 -0400 Subject: [PATCH 2/2] use actual filename --- yt_dlp/downloader/fragment.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/yt_dlp/downloader/fragment.py b/yt_dlp/downloader/fragment.py index be068c0aa..8d558e3d1 100644 --- a/yt_dlp/downloader/fragment.py +++ b/yt_dlp/downloader/fragment.py @@ -517,7 +517,7 @@ class FragmentFD(FileDownloader): }) decrypted_fragment = decrypt_fragment(fragment, self._read_fragment(ctx)) if self.params.get('keep_fragments', False): - f, _ = self.sanitize_open(format(fragment['frag_index'], '05d') + '.ts', 'wb') + f, _ = self.sanitize_open(ctx.get('fragment_filename_sanitized'), 'wb') f.write(decrypted_fragment) if not append_fragment(decrypted_fragment, frag_index, ctx): return False @@ -535,7 +535,7 @@ class FragmentFD(FileDownloader): download_fragment(fragment, ctx) decrypted_fragment = decrypt_fragment(fragment, self._read_fragment(ctx)) if self.params.get('keep_fragments', False): - f, _ = self.sanitize_open(format(fragment['frag_index'], '05d') + '.ts', 'wb') + f, _ = self.sanitize_open(ctx.get('fragment_filename_sanitized'), 'wb') f.write(decrypted_fragment) result = append_fragment(decrypted_fragment, fragment['frag_index'], ctx) except KeyboardInterrupt: