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
+110
View File
@@ -0,0 +1,110 @@
LOG 2026/06/16
Save Path: /home/lukas/Programy/video_extractor/tools/Logs
Task Start: 2026/06/16 08:08:22
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=6a30e847_Q1ZYMDc_0_QUtBTUFJ_6191f3a72a8e:0&c3.ri=6a30e847_Q1ZYMDc_0_QUtBTUFJ_6191f3a72a8e: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" --drop-subtitle all --select-video res=512x288:for=best --select-audio lang=en-US|pl-PL:codecs=ec-3:bwMax=260:for=all --key 0000e11949b72dd103590e68017a3038:bde0bef8bbfec3ce5f7f40aed81327db
08:08:22.649 INFO : N_m3u8DL-RE (Beta version) 20251029
08:08:22.650 EXTRA: ffmpeg => /usr/bin/ffmpeg
08:08:22.650 EXTRA: mp4decrypt => /home/lukas/Programy/video_extractor/tools/mp4decrypt
08:08:22.650 EXTRA: User-Defined Header => user-agent: SkyShowtimeAndroid-GLOBAL/4.2.12-121040212
08:08:22.650 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=6a30e847_Q1ZYMDc_0_QUtBTUFJ_6191f3a72a8e:0&c3.ri=6a30e847_Q1ZYMDc_0_QUtBTUFJ_6191f3a72a8e:0&audio=all&subtitle=all&forcedNarrative=true&trickplay=true
08:08:22.837 INFO : Content Matched: Dynamic Adaptive Streaming over HTTP
08:08:22.837 INFO : Parsing streams...
08:08:23.038 WARN : Writing meta json
08:08:23.055 INFO : Extracted, there are 45 streams, with 9 basic streams, 15 audio streams, 21 subtitle streams
08:08:23.055 INFO : Vid *CENC 1920x1080 | 7814 Kbps | r0/video/sdr/avc/7830k_1080_cmaf | 23.976 | avc1.640028 | 1241 Segments | ~02h03m58s
08:08:23.056 INFO : Vid *CENC 1280x720 | 4827 Kbps | r0/video/sdr/avc/4830k_720_cmaf | 23.976 | avc1.64001F | 1241 Segments | ~02h03m58s
08:08:23.056 INFO : Vid *CENC 960x540 | 2998 Kbps | r0/video/sdr/avc/3000k_540_cmaf | 23.976 | avc1.4D401F | 1241 Segments | ~02h03m58s
08:08:23.056 INFO : Vid *CENC 960x540 | 1851 Kbps | r0/video/sdr/avc/1850k_540_cmaf | 23.976 | avc1.4D401F | 1241 Segments | ~02h03m58s
08:08:23.056 INFO : Vid *CENC 768x432 | 867 Kbps | r0/video/sdr/avc/860k_432_cmaf | 23.976 | avc1.4D401E | 1241 Segments | ~02h03m58s
08:08:23.057 INFO : Vid *CENC 512x288 | 354 Kbps | r0/video/sdr/avc/350k_288_cmaf | 23.976 | avc1.4D4015 | 1241 Segments | ~02h03m58s
08:08:23.057 INFO : Vid 2080x1404 | 81 Kbps | thumbnails_0 | 30 Segments | ~02h03m58s
08:08:23.057 INFO : Vid 1680x1134 | 58 Kbps | thumbnails_1 | 30 Segments | ~02h03m58s
08:08:23.057 INFO : Vid 1120x756 | 30 Kbps | thumbnails_2 | 30 Segments | ~02h03m58s
08:08:23.057 INFO : Aud *CENC r21/audio/surround/en-US | 388 Kbps | ec-3 | en-US | F801CH | 1241 Segments | Main | ~02h03m58s
08:08:23.058 INFO : Aud *CENC r10/audio/surround/cs-CZ | 388 Kbps | ec-3 | cs-CZ | F801CH | 1241 Segments | ~02h03m58s
08:08:23.058 INFO : Aud *CENC r5/audio/surround/es-ES | 388 Kbps | ec-3 | es-ES | F801CH | 1241 Segments | ~02h03m58s
08:08:23.058 INFO : Aud *CENC r10/audio/surround/hu-HU | 388 Kbps | ec-3 | hu-HU | F801CH | 1241 Segments | ~02h03m58s
08:08:23.059 INFO : Aud *CENC r8/audio/surround/pl-PL | 388 Kbps | ec-3 | pl-PL | F801CH | 1241 Segments | ~02h03m58s
08:08:23.059 INFO : Aud *CENC r0/audio/stereo-eac3/en-US | 132 Kbps | ec-3 | en-US | A000CH | 1241 Segments | Main | ~02h03m58s
08:08:23.059 INFO : Aud *CENC r6/audio/stereo-eac3/cs-CZ | 132 Kbps | ec-3 | cs-CZ | A000CH | 1241 Segments | ~02h03m58s
08:08:23.059 INFO : Aud *CENC r7/audio/stereo-eac3/es-ES | 132 Kbps | ec-3 | es-ES | A000CH | 1241 Segments | ~02h03m58s
08:08:23.060 INFO : Aud *CENC r9/audio/stereo-eac3/hu-HU | 132 Kbps | ec-3 | hu-HU | A000CH | 1241 Segments | ~02h03m58s
08:08:23.060 INFO : Aud *CENC r10/audio/stereo-eac3/pl-PL | 132 Kbps | ec-3 | pl-PL | A000CH | 1241 Segments | ~02h03m58s
08:08:23.060 INFO : Aud *CENC r0/audio/stereo/en-US | 131 Kbps | mp4a.40.2 | en-US | 2CH | 1242 Segments | Main | ~02h03m58s
08:08:23.061 INFO : Aud *CENC r6/audio/stereo/cs-CZ | 131 Kbps | mp4a.40.2 | cs-CZ | 2CH | 1242 Segments | ~02h03m58s
08:08:23.061 INFO : Aud *CENC r7/audio/stereo/es-ES | 131 Kbps | mp4a.40.2 | es-ES | 2CH | 1242 Segments | ~02h03m58s
08:08:23.061 INFO : Aud *CENC r9/audio/stereo/hu-HU | 131 Kbps | mp4a.40.2 | hu-HU | 2CH | 1242 Segments | ~02h03m58s
08:08:23.062 INFO : Aud *CENC r10/audio/stereo/pl-PL | 131 Kbps | mp4a.40.2 | pl-PL | 2CH | 1242 Segments | ~02h03m58s
08:08:23.062 INFO : Sub textstream_1024 | en-US | 11 Segments | ~02h03m58s
08:08:23.062 INFO : Sub textstream_1024_1 | cs-CZ | 11 Segments | ForcedSubtitle | ~02h03m58s
08:08:23.062 INFO : Sub textstream_1024_2 | es-ES | 11 Segments | ForcedSubtitle | ~02h03m58s
08:08:23.062 INFO : Sub textstream_1024_3 | hu-HU | 11 Segments | ForcedSubtitle | ~02h03m58s
08:08:23.062 INFO : Sub textstream_1024_1_1 | pl-PL | 11 Segments | ForcedSubtitle | ~02h03m58s
08:08:23.062 INFO : Sub textstream_1024_4 | bg-BG | 11 Segments | Subtitle | ~02h03m58s
08:08:23.062 INFO : Sub textstream_1024_5 | cs-CZ | 11 Segments | Subtitle | ~02h03m58s
08:08:23.062 INFO : Sub textstream_1024_5_1 | da-DK | 11 Segments | Subtitle | ~02h03m58s
08:08:23.063 INFO : Sub textstream_1024_8 | es-ES | 11 Segments | Subtitle | ~02h03m58s
08:08:23.063 INFO : Sub textstream_1024_7 | fi-FI | 11 Segments | Subtitle | ~02h03m58s
08:08:23.063 INFO : Sub textstream_1024_6 | hr-HR | 11 Segments | Subtitle | ~02h03m58s
08:08:23.063 INFO : Sub textstream_1024_10 | hu-HU | 11 Segments | Subtitle | ~02h03m58s
08:08:23.063 INFO : Sub textstream_1024_7_1 | nb-NO | 11 Segments | Subtitle | ~02h03m58s
08:08:23.063 INFO : Sub textstream_1024_10_1 | nl-NL | 11 Segments | Subtitle | ~02h03m58s
08:08:23.063 INFO : Sub textstream_1024_8_1 | pl-PL | 11 Segments | Subtitle | ~02h03m58s
08:08:23.063 INFO : Sub textstream_1024_6_1 | pt-PT | 11 Segments | Subtitle | ~02h03m58s
08:08:23.063 INFO : Sub textstream_1024_7_1_2 | ro-RO | 11 Segments | Subtitle | ~02h03m58s
08:08:23.063 INFO : Sub textstream_1024_11 | sk-SK | 11 Segments | Subtitle | ~02h03m58s
08:08:23.063 INFO : Sub textstream_1024_14 | sl-SI | 11 Segments | Subtitle | ~02h03m58s
08:08:23.064 INFO : Sub textstream_1024_12 | sr-RS | 11 Segments | Subtitle | ~02h03m58s
08:08:23.064 INFO : Sub textstream_1024_8_1_2 | sv-SE | 11 Segments | Subtitle | ~02h03m58s
08:08:23.065 EXTRA: DropSubtitleFilter => For: all
08:08:23.065 EXTRA: VideoFilter => ResolutionReg: 512x288 For: best
08:08:23.065 EXTRA: AudioFilter => LanguageReg: en-US|pl-PL CodecsReg: ec-3 BandwidthMax: 260000 For: all
08:08:23.065 INFO : Parsing streams...
08:08:23.076 INFO : Selected streams:
08:08:23.076 INFO : Vid *CENC 512x288 | 354 Kbps | r0/video/sdr/avc/350k_288_cmaf | 23.976 | avc1.4D4015 | 1241 Segments | ~02h03m58s
08:08:23.077 INFO : Aud *CENC r0/audio/stereo-eac3/en-US | 132 Kbps | ec-3 | en-US | A000CH | 1241 Segments | Main | ~02h03m58s
08:08:23.077 INFO : Aud *CENC r10/audio/stereo-eac3/pl-PL | 132 Kbps | ec-3 | pl-PL | A000CH | 1241 Segments | ~02h03m58s
08:08:23.077 WARN : Writing meta json
08:08:23.079 INFO : Save Name: Downton_Abbey_Wielki_finał
08:08:23.079 WARN : MuxAfterDone is detected, binary merging is automatically enabled
08:08:23.080 INFO : Start downloading...Vid 512x288 | 354 Kbps | r0/video/sdr/avc/350k_288_cmaf | 23.976 | avc1.4D4015
08:08:23.136 WARN : Type: cenc
08:08:23.137 WARN : PSSH(WV): EhAAAOEZSbct0QNZDmgBejA4SOPclZsG
08:08:23.137 WARN : KID: 0000e11949b72dd103590e68017a3038
08:08:23.137 WARN : Reading media info...
08:08:23.187 INFO : NaN: Video, h264 (avc1), 512x288
08:08:28.044 INFO : Binary merging...
08:08:28.693 WARN : Type: cenc
08:08:28.694 WARN : PSSH(WV): EhAAAOEZSbct0QNZDmgBejA4SOPclZsG
08:08:28.694 WARN : KID: 0000e11949b72dd103590e68017a3038
08:08:28.694 INFO : Decrypting using MP4DECRYPT...
08:08:30.990 INFO : Start downloading...Aud r0/audio/stereo-eac3/en-US | 132 Kbps | ec-3 | en-US | A000CH | Main
08:08:31.046 WARN : Type: cenc
08:08:31.046 WARN : PSSH(WV): EhAAAOEZSbct0QNZDmgBejA4SOPclZsG
08:08:31.047 WARN : KID: 0000e11949b72dd103590e68017a3038
08:08:31.048 WARN : Reading media info...
08:08:31.107 INFO : NaN: Audio, eac3 (ec-3)
08:08:34.956 INFO : Binary merging...
08:08:35.251 WARN : Type: cenc
08:08:35.251 WARN : PSSH(WV): EhAAAOEZSbct0QNZDmgBejA4SOPclZsG
08:08:35.252 WARN : KID: 0000e11949b72dd103590e68017a3038
08:08:35.252 INFO : Decrypting using MP4DECRYPT...
08:08:36.242 INFO : Start downloading...Aud r10/audio/stereo-eac3/pl-PL | 132 Kbps | ec-3 | pl-PL | A000CH
08:08:36.283 WARN : Type: cenc
08:08:36.284 WARN : PSSH(WV): EhAAAOEZSbct0QNZDmgBejA4SOPclZsG
08:08:36.285 WARN : KID: 0000e11949b72dd103590e68017a3038
08:08:36.289 WARN : Reading media info...
08:08:36.347 INFO : NaN: Audio, eac3 (ec-3)
08:08:39.855 INFO : Binary merging...
08:08:40.596 WARN : Type: cenc
08:08:40.597 WARN : PSSH(WV): EhAAAOEZSbct0QNZDmgBejA4SOPclZsG
08:08:40.597 WARN : KID: 0000e11949b72dd103590e68017a3038
08:08:40.598 INFO : Decrypting using MP4DECRYPT...
08:08:41.597 WARN : Downton_Abbey_Wielki_finał.mp4
08:08:41.597 WARN : Downton_Abbey_Wielki_finał.en-US.m4a
08:08:41.597 WARN : Downton_Abbey_Wielki_finał.pl-PL.m4a
08:08:41.597 WARN : Muxing to Downton_Abbey_Wielki_finał.MUX.mkv
08:08:45.854 WARN : Cleaning files...
08:08:46.029 WARN : Rename to Downton_Abbey_Wielki_finał.mkv
08:08:46.030 INFO : Done