Add MPD manifest generation mode to CLI

Introduces a new --manifest flag and --manifest-output option to main.py, allowing users to generate and save an MPD manifest file without downloading segments. Updates argument parsing, documentation, and usage examples in both English and French READMEs to reflect the new feature.
This commit is contained in:
√(noham)²
2026-01-11 11:49:06 +01:00
parent b75027c750
commit ed52e470cc
3 changed files with 244 additions and 42 deletions

View File

@@ -69,14 +69,15 @@ https://github.com/user-attachments/assets/54a50828-c0e9-4a29-81c7-e188c238a998
You can automate the download by providing arguments.
```bash
usage: main.py [-h] [--start-date START_DATE] [--end-date END_DATE] [--duration DURATION]
[--channel-id CHANNEL_ID] [--video VIDEO] [--audio AUDIO] [--title TITLE]
[--username USERNAME] [--password PASSWORD] [--key KEY]
[--output-dir OUTPUT_DIR] [--widevine-device WIDEVINE_DEVICE]
usage: main.py [-h] [--start-date START_DATE] [--end-date END_DATE]
[--duration DURATION] [--channel-id CHANNEL_ID] [--video VIDEO]
[--audio AUDIO] [--title TITLE] [--username USERNAME]
[--password PASSWORD] [--key KEY] [--output-dir OUTPUT_DIR]
[--widevine-device WIDEVINE_DEVICE]
[--bruteforce-batch-size BRUTEFORCE_BATCH_SIZE]
[--segment-batch-size SEGMENT_BATCH_SIZE]
[--segment-batch-size SEGMENT_BATCH_SIZE] [--manifest]
[--manifest-output MANIFEST_OUTPUT]
[--log-level {DEBUG,INFO,WARNING,ERROR,CRITICAL}]
options:
-h, --help show this help message and exit
--start-date START_DATE
@@ -99,6 +100,9 @@ options:
Batch size for bruteforce (default: 20000)
--segment-batch-size SEGMENT_BATCH_SIZE
Batch size for segment downloads (default: 64)
--manifest Generate an MPD manifest file instead of downloading
--manifest-output MANIFEST_OUTPUT
Output path for the generated manifest file (default: ./downloads/manifest.mpd)
--log-level {DEBUG,INFO,WARNING,ERROR,CRITICAL}
Set the logging level (default: INFO)
```
@@ -117,6 +121,11 @@ uv run main.py --channel-id 536 --start-date "2025-12-19 12:00:00" --duration "0
uv run main.py --channel-id 536 --start-date "2025-12-19 12:00:00" --duration "00:05:00" --key "KID:KEY" --key "KID2:KEY2"
```
**Generate MPD manifest only (without downloading):**
```bash
uv run main.py --channel-id 536 --start-date "2025-01-01 12:00:00" --manifest --manifest-output "./downloads/my_manifest.mpd"
```
## DRM Decryption
### Instructions (Widevine)