Initial commit of video_extractor toolkit

Widevine/DRM research and video download scripts (Apple, CDA, Sky, TVP),
CDM tooling, and helper utilities. Excludes downloads/.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WFUhtZEpkGZJjNCGFS9r4Z
This commit is contained in:
2026-08-08 12:35:28 +02:00
co-authored by Claude Opus 4.8
commit 453ca2f85a
227 changed files with 21028 additions and 0 deletions
+127
View File
@@ -0,0 +1,127 @@
LOG 2026/06/15
Save Path: /home/lukas/Programy/video_extractor/tools/Logs
Task Start: 2026/06/15 22:40:34
Task CommandLine: /home/lukas/Programy/video_extractor/tools/N_m3u8DL-RE https://g002-vod-eu-cmaf-prd-ak.pcdn01.cssott.com/pub/global/M9m/4pT/GMO_00000000258831_02_HDSDR/vge_vgp/SST_1773480898229_8dd8_01/mpeg_cenc/master_manifest_default_r21.mpd?c3.ri=6a306337_Q1ZYMDc_0_QUtBTUFJ_6779eaaca6a5:0&c3.ri=6a306337_Q1ZYMDc_0_QUtBTUFJ_6779eaaca6a5:0&audio=all&subtitle=all&forcedNarrative=true&trickplay=true --save-dir /home/lukas/Programy/video_extractor/downloads --save-name Downton_Abbey_Wielki_finał --tmp-dir /tmp/n_m3u8dl_tmp --decryption-binary-path /home/lukas/Programy/video_extractor/tools/mp4decrypt --mux-after-done format=mkv --header "User-Agent: SkyShowtimeAndroid-GLOBAL/4.2.12-121040212" --select-video res=1920x1080:for=best --select-audio lang=en-US|pl-PL:codecs=ec-3:bwMax=260:for=all --select-subtitle lang=pl-PL:for=all --key 0000e11949b72dd103590e68017a3038:bde0bef8bbfec3ce5f7f40aed81327db
22:40:34.722 INFO : N_m3u8DL-RE (Beta version) 20251029
22:40:34.722 EXTRA: ffmpeg => /usr/bin/ffmpeg
22:40:34.722 EXTRA: mp4decrypt => /home/lukas/Programy/video_extractor/tools/mp4decrypt
22:40:34.722 EXTRA: User-Defined Header => user-agent: SkyShowtimeAndroid-GLOBAL/4.2.12-121040212
22:40:34.722 INFO : Loading URL: https://g002-vod-eu-cmaf-prd-ak.pcdn01.cssott.com/pub/global/M9m/4pT/GMO_00000000258831_02_HDSDR/vge_vgp/SST_1773480898229_8dd8_01/mpeg_cenc/master_manifest_default_r21.mpd?c3.ri=6a306337_Q1ZYMDc_0_QUtBTUFJ_6779eaaca6a5:0&c3.ri=6a306337_Q1ZYMDc_0_QUtBTUFJ_6779eaaca6a5:0&audio=all&subtitle=all&forcedNarrative=true&trickplay=true
22:40:35.053 INFO : Content Matched: Dynamic Adaptive Streaming over HTTP
22:40:35.053 INFO : Parsing streams...
22:40:35.250 WARN : Writing meta json
22:40:35.266 INFO : Extracted, there are 45 streams, with 9 basic streams, 15 audio streams, 21 subtitle streams
22:40:35.267 INFO : Vid *CENC 1920x1080 | 7814 Kbps | r0/video/sdr/avc/7830k_1080_cmaf | 23.976 | avc1.640028 | 1241 Segments | ~02h03m58s
22:40:35.267 INFO : Vid *CENC 1280x720 | 4827 Kbps | r0/video/sdr/avc/4830k_720_cmaf | 23.976 | avc1.64001F | 1241 Segments | ~02h03m58s
22:40:35.268 INFO : Vid *CENC 960x540 | 2998 Kbps | r0/video/sdr/avc/3000k_540_cmaf | 23.976 | avc1.4D401F | 1241 Segments | ~02h03m58s
22:40:35.268 INFO : Vid *CENC 960x540 | 1851 Kbps | r0/video/sdr/avc/1850k_540_cmaf | 23.976 | avc1.4D401F | 1241 Segments | ~02h03m58s
22:40:35.268 INFO : Vid *CENC 768x432 | 867 Kbps | r0/video/sdr/avc/860k_432_cmaf | 23.976 | avc1.4D401E | 1241 Segments | ~02h03m58s
22:40:35.268 INFO : Vid *CENC 512x288 | 354 Kbps | r0/video/sdr/avc/350k_288_cmaf | 23.976 | avc1.4D4015 | 1241 Segments | ~02h03m58s
22:40:35.268 INFO : Vid 2080x1404 | 81 Kbps | thumbnails_0 | 30 Segments | ~02h03m58s
22:40:35.268 INFO : Vid 1680x1134 | 58 Kbps | thumbnails_1 | 30 Segments | ~02h03m58s
22:40:35.269 INFO : Vid 1120x756 | 30 Kbps | thumbnails_2 | 30 Segments | ~02h03m58s
22:40:35.269 INFO : Aud *CENC r21/audio/surround/en-US | 388 Kbps | ec-3 | en-US | F801CH | 1241 Segments | Main | ~02h03m58s
22:40:35.269 INFO : Aud *CENC r10/audio/surround/cs-CZ | 388 Kbps | ec-3 | cs-CZ | F801CH | 1241 Segments | ~02h03m58s
22:40:35.270 INFO : Aud *CENC r5/audio/surround/es-ES | 388 Kbps | ec-3 | es-ES | F801CH | 1241 Segments | ~02h03m58s
22:40:35.270 INFO : Aud *CENC r10/audio/surround/hu-HU | 388 Kbps | ec-3 | hu-HU | F801CH | 1241 Segments | ~02h03m58s
22:40:35.270 INFO : Aud *CENC r8/audio/surround/pl-PL | 388 Kbps | ec-3 | pl-PL | F801CH | 1241 Segments | ~02h03m58s
22:40:35.270 INFO : Aud *CENC r0/audio/stereo-eac3/en-US | 132 Kbps | ec-3 | en-US | A000CH | 1241 Segments | Main | ~02h03m58s
22:40:35.271 INFO : Aud *CENC r6/audio/stereo-eac3/cs-CZ | 132 Kbps | ec-3 | cs-CZ | A000CH | 1241 Segments | ~02h03m58s
22:40:35.271 INFO : Aud *CENC r7/audio/stereo-eac3/es-ES | 132 Kbps | ec-3 | es-ES | A000CH | 1241 Segments | ~02h03m58s
22:40:35.271 INFO : Aud *CENC r9/audio/stereo-eac3/hu-HU | 132 Kbps | ec-3 | hu-HU | A000CH | 1241 Segments | ~02h03m58s
22:40:35.271 INFO : Aud *CENC r10/audio/stereo-eac3/pl-PL | 132 Kbps | ec-3 | pl-PL | A000CH | 1241 Segments | ~02h03m58s
22:40:35.272 INFO : Aud *CENC r0/audio/stereo/en-US | 131 Kbps | mp4a.40.2 | en-US | 2CH | 1242 Segments | Main | ~02h03m58s
22:40:35.272 INFO : Aud *CENC r6/audio/stereo/cs-CZ | 131 Kbps | mp4a.40.2 | cs-CZ | 2CH | 1242 Segments | ~02h03m58s
22:40:35.272 INFO : Aud *CENC r7/audio/stereo/es-ES | 131 Kbps | mp4a.40.2 | es-ES | 2CH | 1242 Segments | ~02h03m58s
22:40:35.273 INFO : Aud *CENC r9/audio/stereo/hu-HU | 131 Kbps | mp4a.40.2 | hu-HU | 2CH | 1242 Segments | ~02h03m58s
22:40:35.273 INFO : Aud *CENC r10/audio/stereo/pl-PL | 131 Kbps | mp4a.40.2 | pl-PL | 2CH | 1242 Segments | ~02h03m58s
22:40:35.273 INFO : Sub textstream_1024 | en-US | 11 Segments | ~02h03m58s
22:40:35.273 INFO : Sub textstream_1024_1 | cs-CZ | 11 Segments | ForcedSubtitle | ~02h03m58s
22:40:35.273 INFO : Sub textstream_1024_2 | es-ES | 11 Segments | ForcedSubtitle | ~02h03m58s
22:40:35.273 INFO : Sub textstream_1024_3 | hu-HU | 11 Segments | ForcedSubtitle | ~02h03m58s
22:40:35.273 INFO : Sub textstream_1024_1_1 | pl-PL | 11 Segments | ForcedSubtitle | ~02h03m58s
22:40:35.274 INFO : Sub textstream_1024_4 | bg-BG | 11 Segments | Subtitle | ~02h03m58s
22:40:35.274 INFO : Sub textstream_1024_5 | cs-CZ | 11 Segments | Subtitle | ~02h03m58s
22:40:35.274 INFO : Sub textstream_1024_5_1 | da-DK | 11 Segments | Subtitle | ~02h03m58s
22:40:35.274 INFO : Sub textstream_1024_8 | es-ES | 11 Segments | Subtitle | ~02h03m58s
22:40:35.274 INFO : Sub textstream_1024_7 | fi-FI | 11 Segments | Subtitle | ~02h03m58s
22:40:35.274 INFO : Sub textstream_1024_6 | hr-HR | 11 Segments | Subtitle | ~02h03m58s
22:40:35.274 INFO : Sub textstream_1024_10 | hu-HU | 11 Segments | Subtitle | ~02h03m58s
22:40:35.274 INFO : Sub textstream_1024_7_1 | nb-NO | 11 Segments | Subtitle | ~02h03m58s
22:40:35.274 INFO : Sub textstream_1024_10_1 | nl-NL | 11 Segments | Subtitle | ~02h03m58s
22:40:35.274 INFO : Sub textstream_1024_8_1 | pl-PL | 11 Segments | Subtitle | ~02h03m58s
22:40:35.274 INFO : Sub textstream_1024_6_1 | pt-PT | 11 Segments | Subtitle | ~02h03m58s
22:40:35.274 INFO : Sub textstream_1024_7_1_2 | ro-RO | 11 Segments | Subtitle | ~02h03m58s
22:40:35.275 INFO : Sub textstream_1024_11 | sk-SK | 11 Segments | Subtitle | ~02h03m58s
22:40:35.275 INFO : Sub textstream_1024_14 | sl-SI | 11 Segments | Subtitle | ~02h03m58s
22:40:35.275 INFO : Sub textstream_1024_12 | sr-RS | 11 Segments | Subtitle | ~02h03m58s
22:40:35.275 INFO : Sub textstream_1024_8_1_2 | sv-SE | 11 Segments | Subtitle | ~02h03m58s
22:40:35.275 EXTRA: VideoFilter => ResolutionReg: 1920x1080 For: best
22:40:35.275 EXTRA: AudioFilter => LanguageReg: en-US|pl-PL CodecsReg: ec-3 BandwidthMax: 260000 For: all
22:40:35.275 EXTRA: SubtitleFilter => LanguageReg: pl-PL For: all
22:40:35.275 INFO : Parsing streams...
22:40:35.282 INFO : Selected streams:
22:40:35.282 INFO : Vid *CENC 1920x1080 | 7814 Kbps | r0/video/sdr/avc/7830k_1080_cmaf | 23.976 | avc1.640028 | 1241 Segments | ~02h03m58s
22:40:35.283 INFO : Aud *CENC r0/audio/stereo-eac3/en-US | 132 Kbps | ec-3 | en-US | A000CH | 1241 Segments | Main | ~02h03m58s
22:40:35.283 INFO : Aud *CENC r10/audio/stereo-eac3/pl-PL | 132 Kbps | ec-3 | pl-PL | A000CH | 1241 Segments | ~02h03m58s
22:40:35.283 INFO : Sub textstream_1024_1_1 | pl-PL | 11 Segments | ForcedSubtitle | ~02h03m58s
22:40:35.283 INFO : Sub textstream_1024_8_1 | pl-PL | 11 Segments | Subtitle | ~02h03m58s
22:40:35.283 WARN : Writing meta json
22:40:35.286 INFO : Save Name: Downton_Abbey_Wielki_finał
22:40:35.286 WARN : MuxAfterDone is detected, binary merging is automatically enabled
22:40:35.286 INFO : Start downloading...Vid 1920x1080 | 7814 Kbps | r0/video/sdr/avc/7830k_1080_cmaf | 23.976 | avc1.640028
22:40:35.589 WARN : Type: cenc
22:40:35.590 WARN : PSSH(WV): EhAAAOEZSbct0QNZDmgBejA4SOPclZsG
22:40:35.591 WARN : KID: 0000e11949b72dd103590e68017a3038
22:40:35.592 WARN : Reading media info...
22:40:35.640 INFO : NaN: Video, h264 (avc1), 1920x1080
22:41:39.424 INFO : Binary merging...
22:41:57.272 WARN : Type: cenc
22:41:57.273 WARN : PSSH(WV): EhAAAOEZSbct0QNZDmgBejA4SOPclZsG
22:41:57.273 WARN : KID: 0000e11949b72dd103590e68017a3038
22:41:57.274 INFO : Decrypting using MP4DECRYPT...
22:42:39.658 INFO : Start downloading...Aud r0/audio/stereo-eac3/en-US | 132 Kbps | ec-3 | en-US | A000CH | Main
22:42:39.891 WARN : Type: cenc
22:42:39.891 WARN : PSSH(WV): EhAAAOEZSbct0QNZDmgBejA4SOPclZsG
22:42:39.892 WARN : KID: 0000e11949b72dd103590e68017a3038
22:42:39.895 WARN : Reading media info...
22:42:39.953 INFO : NaN: Audio, eac3 (ec-3)
22:42:43.087 INFO : Binary merging...
22:42:43.412 WARN : Type: cenc
22:42:43.413 WARN : PSSH(WV): EhAAAOEZSbct0QNZDmgBejA4SOPclZsG
22:42:43.417 WARN : KID: 0000e11949b72dd103590e68017a3038
22:42:43.417 INFO : Decrypting using MP4DECRYPT...
22:42:44.368 INFO : Start downloading...Aud r10/audio/stereo-eac3/pl-PL | 132 Kbps | ec-3 | pl-PL | A000CH
22:42:44.430 WARN : Type: cenc
22:42:44.431 WARN : PSSH(WV): EhAAAOEZSbct0QNZDmgBejA4SOPclZsG
22:42:44.432 WARN : KID: 0000e11949b72dd103590e68017a3038
22:42:44.433 WARN : Reading media info...
22:42:44.487 INFO : NaN: Audio, eac3 (ec-3)
22:42:47.347 INFO : Binary merging...
22:42:47.655 WARN : Type: cenc
22:42:47.656 WARN : PSSH(WV): EhAAAOEZSbct0QNZDmgBejA4SOPclZsG
22:42:47.656 WARN : KID: 0000e11949b72dd103590e68017a3038
22:42:47.657 INFO : Decrypting using MP4DECRYPT...
22:42:48.625 INFO : Start downloading...Sub textstream_1024_1_1 | pl-PL | ForcedSubtitle
22:42:48.687 WARN : Reading media info...
22:42:48.736 INFO : NaN: Subtitle, webvtt
22:42:48.805 WARN : Extracting VTT(raw) subtitle...
22:42:48.808 INFO : Binary merging...
22:42:48.810 INFO : Start downloading...Sub textstream_1024_8_1 | pl-PL | Subtitle
22:42:48.876 WARN : Reading media info...
22:42:48.932 INFO : NaN: Subtitle, webvtt
22:42:49.004 WARN : Downton_Abbey_Wielki_finał.pl-PL.srt => Downton_Abbey_Wielki_finał.pl-PL.pl-PL.srt
22:42:49.005 WARN : Extracting VTT(raw) subtitle...
22:42:49.056 INFO : Binary merging...
22:42:49.060 WARN : Downton_Abbey_Wielki_finał.mp4
22:42:49.060 WARN : Downton_Abbey_Wielki_finał.en-US.m4a
22:42:49.060 WARN : Downton_Abbey_Wielki_finał.pl-PL.m4a
22:42:49.060 WARN : Downton_Abbey_Wielki_finał.pl-PL.srt
22:42:49.060 WARN : Downton_Abbey_Wielki_finał.pl-PL.pl-PL.srt
22:42:49.060 WARN : Muxing to Downton_Abbey_Wielki_finał.MUX.mkv
22:42:49.234 WARN : [matroska @ 0x608c6b2fcb00] Starting new cluster due to timestamp
22:43:06.460 WARN : Last message repeated 26 times
22:43:06.472 WARN : Cleaning files...
22:43:08.179 WARN : Rename to Downton_Abbey_Wielki_finał.mkv
22:43:08.179 INFO : Done