17.12.2024, 20:06
Zde je přesný postup jak odstranit DRM u ČT. Jak jsem psal výše, klíče jsou dynamické:
- stažení příslušného m4s segmentu
- načtení KID v sekci moof/traf/sgpd[0]
- načtení PSSH v sekci moof/pssh
- dotaz na svůj seznam klíču podle načteného KID; pokud není - tak kontaktovat licenční server (to se bude dít asi každých 5-6 minut protože aktuálně použitý KID je asi uprostřed seznamu 12 klíčů a ten se mění každou minutu) a uložit si tento nový seznam
- dešifrovat m4s pomocí KID, KEY a originálního MP4 INIT souboru
To znamená, že vložení PSSH a KID do mpd manifestu je naprosto k ničemu. Pokud si cheš vytvořit vlastní http server tak se to musí udělat takhle:
- modifikovat MPD manifest tak, že se nahradí všechny URL linky na svů vlastní http server a odstraní se všechny ContentProtection sekce, takový MPD manifest se pak předává klientovi
- http server na požadavek MP4 INIT souboru od klienta provede jeho stažení a odstraní veškeré boxy týkající se šifrování, pokud se to neudělá tak některé přehrávače to pak nepřehrají (VLC), tento nový INIT soubor je pak předaný klientovi
- http server na požadavek m4s segmentu od klienta provede jeho stažení, dešifrování(podle postupu výše) a předá ho klientovi
Všechny informace ohledně šifrofrání jsou standartně obsaženy v MPEG-DASH MP4 specifikaci.
- stažení příslušného m4s segmentu
- načtení KID v sekci moof/traf/sgpd[0]
- načtení PSSH v sekci moof/pssh
- dotaz na svůj seznam klíču podle načteného KID; pokud není - tak kontaktovat licenční server (to se bude dít asi každých 5-6 minut protože aktuálně použitý KID je asi uprostřed seznamu 12 klíčů a ten se mění každou minutu) a uložit si tento nový seznam
- dešifrovat m4s pomocí KID, KEY a originálního MP4 INIT souboru
To znamená, že vložení PSSH a KID do mpd manifestu je naprosto k ničemu. Pokud si cheš vytvořit vlastní http server tak se to musí udělat takhle:
- modifikovat MPD manifest tak, že se nahradí všechny URL linky na svů vlastní http server a odstraní se všechny ContentProtection sekce, takový MPD manifest se pak předává klientovi
- http server na požadavek MP4 INIT souboru od klienta provede jeho stažení a odstraní veškeré boxy týkající se šifrování, pokud se to neudělá tak některé přehrávače to pak nepřehrají (VLC), tento nový INIT soubor je pak předaný klientovi
- http server na požadavek m4s segmentu od klienta provede jeho stažení, dešifrování(podle postupu výše) a předá ho klientovi
Všechny informace ohledně šifrofrání jsou standartně obsaženy v MPEG-DASH MP4 specifikaci.
