DRM Plugin je nyní k dispozici

Pro operační systém Windows je nyní k dispozici plugin pro stahování zdrojů, které jsou chráněné DRM. Momentálně je podporován pouze web České televize. Další weby se však plánují (iPrima, Voyo).

Mějte prosím na paměti, že se jedná o první ucelenou a plně integrovanou verzi pluginu. Nemusí tedy vše fungovat tak, jak bylo zamýšleno.

Pokud narazíte na jakoukoli chybu nebo nebude něco fungovat, prosím, kontaktujte mě, budu rád i za jakoukoli zpětnou vazbu. V dalších verzích programu bude k dispozici formulář pro hlášení chyb přímo v programu, nyní však prosím využijte kontaktu přes email.

Verze pro Linux se plánuje.

Přečtěte si, prosím, celou tuto stránku, obahuje důležité informace ohledně DRM pluginu a jeho používání. Případně můžete přeskočit na příslušné sekce:

Jak plugin používat

Proces získávání zdrojů chráněných DRM je plně automatizovaný a nejsou potřeba žádné interakce navíc. Při celém procesu je možné s počítačem dále pracovat. Je také doporučeno uložit zdroj ve formátu MP4, jiné formáty nemusí být podporovány.

Video

Plugin nahrává obsah okna, které se otevře po započetí stahování zdroje. Je potřeba, aby byly dodrženy následující skutečnosti:

Plugin v okně spouští video v režimu celé obrazovky a nastaví jeho velikost rozlišení videa, aby bylo zachováno původní rozlišení videa a mohlo se nahrát v plné kvalitě. Z tohoto režimu lze však odejít dvojitým kliknutím myši na plochu okna, nicméně to by již video nebylo v celém svém rozlišení, proto přilíš neklikejte na plochu okna. Tady byla také vyvinuta snaha, aby, pokud se tak již stane, se video pozastavilo, vrátilo do režimu celé obrazovky a následně spustilo; nemělo by se tak ve výsledném souboru přijít o žádnou část původního videa.

Při fázi nahrávání bude pravděpodobně problikávat kurzor myši. Toto je normální chování, plugin totiž nenahrává kurzor myši, a je tudíž potřeba při každém záznamu snímku kurzor dočasně skrýt a pak opětovně zobrazit. Toto je řešeno programem ffmpeg a nelze toto chování tedy nijak ovlivnit.

Při fázi nahrávání také může docházet k výpadku sítě, pomalému přednačítání videa a podobně. Ačkoli toto závisí především na přehrávači na dané webové stránce, bylo v pluginu vynaloženo úsilí pro vyřešení různých pozastavení videa pro jeho načtení, aby se minimalizoval dopad ve výsledném souboru. Není to však dokonalý proces, proto se vždy doporučuje, pokud tak můžete učinit, být připojen na dostatečně rychlou internetovou síť.

Upozornění: Pro zachování kvality videa a co nejmenších nároků na CPU plugin používá určité nastavení programu ffmpeg, které může vygenerovat velmi velký soubor. Záleží samozřejmě na obsahu videa, nicméně při testování měl výsledný soubor velikost kolem 1-2GB na 10 minut videa (bez přerušení přehrávání videa). Proto je doporučeno mít dostatek místa na disku a to až dvakrát tolik, kolik bude mít výsledný nahraný soubor, kvůli následnému zpracování. Můžete k tomuto výpočtu použít jak zmíněný odhad nebo vlastní zkušenost. Například: video má 1 hodinu a 20 minut, v přepočtu tedy 80 minut, velikost souboru může být pak přibližně 80/10 * 2 = 16GB, bude tedy zřejmě potřeba mít na disku alespoň 32GB prostoru, raději však i více kvůli nepřesnosti odhadu.

Audio

Plugin nahrává zvuk ve výchozím stavu z audio zařízení pro záznam, které má název Směšovač stereo (Stereo mix). Pokud máte toto zařízení zakázáné, nebo se v systému nenachází, nebude ve výstupním souboru zvuk zobrazí program v současné verzi chybovou hlášku a celý proces získávání zdroje se ukončí. Pokud jej máte zakázáné, před spuštěním stahování toto zařízení povolte, pokud jej nemáte v systému vůbec, většinou se nainstaluje společně s ovladačem zvuku, zkuste tedy systém aktualizovat, případně stáhnout příslušný ovladač.

Zdali máte zařízení v systému k dispozici či jej máte zakázané, můžete zjistit v Ovládacím panelu zvuku v záložce Záznam. Panel můžete otevřít například buď stisknutím kláves Windows + R a zadáním mmsys.cpl, nebo v Nastavení Windows → Systém → Zvuk → Ovládací panel zvuku. Pokud zařízení nevidíte, můžete si zkusit stáhnout a nainstalovat Realtek HD Audio Drivers z oficiálních stránek Realteku či ze stránek s ovladači pro Realtek.
Děkuji konkrétnímu uživateli (víte, kdo jste) za zprostředkování odkazů!

Toto zařízení nicméně zaznamenává všechny zvuky. Pokud tedy chcete, aby zvuky operačního systému či jiné aplikace nebyly ve výsledném videu slyšet, je potřeba veškeré audio přesměrovat do virtuální zařízení. Plugin toto podporuje a je potřeba si pro tuto funkcionalitu stáhnout virtuální audio kabel (program třetí strany). Stačí si program stáhnout, extrahovat archív a spustit soubor VBCABLE_Setup_x64.exe s administrátorskými právy, kde klikněte na Install driver. Po úspěšné instalaci již není potřeba nic nastavovat, plugin využívá výchozí hodnoty virtuálního kabelu.

Pokud bude i tak ve výsledném videu audio zpožděno či v předstihu, můžete zkontrolovat hodnoty virtuálního kabelu spuštěním souboru VBCABLE_ControlPanel.exe, kde by hodnota pro Max latency měla být na hodnotě 7168 a u Output by hodnota sr (sample rate) měla být 44100.

Zpracování

Ke konci procesu je video ještě automaticky zpracováno. Nezpracované video je pak prozatím zachováno ve stejné složce, kde je výsledný soubor, pro případné další manuální úpravy. Tento soubor, pokud jej nepotřebujete, můžete smazat, ať zbytečně nezabírá místo. Nejprve se však ujistěte, že je upravený soubor v pořádku.

Jak plugin získat

Pokud používáte program na operačním systému Windows a máte zapnuté automatické aktualizace pluginů, pak nemusíte nic dělat, DRM plugin a plugin pro podporu DRM zdrojů na webu České televize bude automaticky stáhnut (včetně ostatních potřebných souborů) při spuštění programu. Pokud nechcete zaznamenávat zvuky plochy apod., pak si nezapomeňtě ještě stáhnout program pro virtuální kabel, jak bylo zmíněno v sekci Audio.

Ke stažení

Pokud nemáte zapnuté automatické aktualizace pluginů, můžete si pluginy stáhnout z odkazů uvedených níže.

DRM Plugin

Verze Soubor pluginu Zdrojový kód
0001 Stáhnout Stáhnout

DRM Plugin (Česká televize)

Verze Soubor pluginu Zdrojový kód
0001 Stáhnout Stáhnout

Jak plugin funguje

Plugin je postaven na CEF, který poskytuje samotné zobrazování webové stránky a přehrávání video a audio obsahu. Tento rámec byl sestaven s modifikacemi pro přehrávání chráněného video a audio obsahu a běžně používaných video a audio kodeků (mp4 apod.). Také je použitý adaptér JCEF, který dovoluje hlavní funkce CEF používat v programovacím jazyce Java. Dále je pak použita knihovna LittleProxy a LittleProxy-MITM pro modifikaci zobrazovaného obsahu v okně webového prohlížeče. V poslední řadě je také použit program SoundVolumeView pro přesměrování audio výstupu webového prohlížeče do vybraného audio zařízení, což je využito především při použití virtuálního audio zařízení.

Celý proces je pak rozdělen do několika fází:

  1. Získá se tzv. DRM Engine pro zadanou webovou adresu (URL), který obsahuje především logiku a procedury modifikace zobrazovaných dat ve webovém prohlížeči.
  2. Zkontroluje se, zdali je v systému k dispozici Widevine CDM. Pokud není, spustí se CEF okno a čeká se na požadavek na jeho stažení. Tento požadavek se zachytí a provede se pluginem, který stáhne daný soubor a extrahuje jej na příslušné místo (ve Windows %LOCALAPPDATA%\CEF\User Data\WidevineCdm). Tento krok není úplně nutný, avšak při testování bylo zjištěno, že když je tento proces stažení provedený pouze přes CEF, nejsou potřebné soubory vždy spolehlivě a dostatečně rychle staženy.
  3. Spustí se tzv. DRM instance s danou stránkou videa. Ta se pomocí CEF začne načítat. Pokud je potřeba, DRM engine určité požadavky provedené CEF zachytí a modifikuje jejich obsah, aby se například v přehrávači na webové stránce nepřehrávaly reklamy a vybral se jen ten zdroj, který má příslušnou uživatelem zadanou kvalitu (720p atd.).
  4. Poté se provede fáze analýzy. Zprvu se čeká, až se video dostatečně načte, pak se spustí a plugin několik sekund sbírá statistiky o videu, konkrétně počet snímků za sekundu (FPS). Tento údaj se pak používá v dalších fázích.
  5. Po analýze následuje nahrávací fáze, kde dochází k samotnému nahrávání obsahu. Zde je nutné přehrát kompletně celé video, proto tedy trvá tak dlouho, jako je délka videa.
  6. Poté je fáze zpracování nahraného videa, tato fáze může trvat delší dobu.

    Soubor se nejprve rozdělí na video a audio.

    Video se zpracuje tak, že se vezmou údaje o přerušeních (způsobených načítáním, výpadkem sítě apod.) během nahrávání a také informace o tom, kdy se začalo nahrávat a kdy se doopravdy spustilo přehrávání videa a kdy se ukončilo nahrávání a kdy doopravdy skončilo přehrávání videa. Pomocí těchto údajů se video sestříhá, aby zbyl opravdu jen obsah původního videa.

    Audio se zpracuje podobně jako video, je to však trochu komplikovanější proces. Při každém zastavení přehrávání mohou video přehrávače přehrát ještě kousek audia, které se ve skutečnosti mělo přehrát až s částí videa, jež se ještě nepřehrála, a tudíž ani nezaznamenala. Dochází tedy k desynchronizaci videa a audia a tedy i celkově k nepřesnosti střihů. Plugin tedy vezme střihy provedené u videa a poupraví je tak, aby se vzala v úvahu všechna rozmezí ticha, která nastanou při pozastavení přehrávání videa, a audio sestříhá. Hlasitost ticha se vypočítá z údajů o hlasitosti napříč celým audiem a z údaje o průměrné hlasitosti audia. Tato hodnota ticha se pak použije pro získání potřebných rozmezí ticha v celém audiu. Výsledkem celého tohoto procesu je pak stejně dlouhé audio, které je synchronizováno s tím, co je v obsahu videa.

    Nakonec se vezme sestříhané video a audio a spojí se do výsledného souboru.

  7. Následně se ukončí DRM instance a tímto je celý proces získání chráněného zdroje ukončen.

Právní prohlášení

Výše uvedené pluginy jsou určené pouze pro vzdělávací a testovací účely. Stahování materiálů chráněných autorskými právy ze streamovacích služeb může porušovat jejich smluvní podmínky. Použití těchto pluginů je jen na vlastní riziko.