Widevine s VMP na Linuxu - v čem je problém?

Widevine s VMP na Linuxu - v čem je problém?
« kdy: 31. 10. 2023, 09:42:05 »
Zdravíčko,

cca od roku 2019 se ví že spousta streamovanýho obsahu na Linuxu nefunguje protože Linux nepodporuje VMP u Widevine DRM.
Orientuje se někdo hlouběji v této problematice?
Proč po 4 letech stále nemůžeme na Linuxu přehrávat stejný obsah jako na jiných platformách - Windows, Apple (macOS, iOS), Android?
V čem tkví problém?

Dosud mě to nějak netankovalo, Amazon, Netflix apod. kteří vynucovali (pro HD+ obsah) VMP jsem nepoužíval, šlo to mimo mě.
Avšak to se změnilo cca před týdnem kdy Skylink na internetové televizi začal vyžadovat VMP úplně všude, čímž znemožnil dosud fungující přehrávání obsahu na Linuxu.
Jako sportovního fanouška zaměřeného na Premier League (což byl jedinný důvod platit od minulého roku Skylink) mě to neskutečně irituje.
Koupit nové zařízení s SW platformou Windows, macOS nebo Android nepřipadá v úvahu, to raději těmi penězi podpořím open-source project který přinese funkcionalitu i na Linux.


Re:Widevine s VMP na Linuxu - v čem je problém?
« Odpověď #1 kdy: 31. 10. 2023, 13:02:40 »
Nefunguje vám to pod Linuxem ani v Chromu nebo Firefoxu?

Standardně by jak Firefox, tak Chrome (z oficiálních balíčků od Google) měl podporovat Widevine L1.
U Chromu je to out-of-box součástí jejich distribuce.
U Firefoxu se to pak cca do minuty po prvním spuštění v profilu stáhne do domovského adresáře. Následně se to dá ověřit přítomnost content decryption modulu (CDM) v about:plugins.

Základní ověření funkčnosti webu jde udělat např. na:
https://shaka-player-demo.appspot.com/demo/ (prostřední video "Sintel" bude zašedlé a nepůjde spustit, když nebude funkční Widevine)
případně otevřete:
https://shaka-player-demo.appspot.com/support.html
Vrátí vám to JSON strukturu, kde by mělo být
Kód: [Vybrat]
"com.widevine.alpha": {
      "persistentState": false
    },
Pokud to bude null, nefunguje to.

Jinak nemám osobně přístup k aktuální dokumentaci a API od Widevine (ta je dostupná jen těm firmám, co to mají zaplacené).
Ale co si vybavuji z nějakých předchozích debat a postů.
Pokud poskytovatel obsahu (tzn. třeba Skylink, HBO, Spotify..) chce maximální úroveň té DRM ochrany (Widevine L1 + VMP), tak se ověřuje aplikace z které se volá CDM modul. Cca do r. 2020 to bylo ve výchozím stavu v API vypnuté, a muselo se to explicitně zapnout, tzn. ve výchozím stavu to chodilo i z neověřených aplikací. Třeba když někdo vyextrahoval tu dynamickou knihovnu a pak ji zavolal z Kodi, Chromia, nějaké Electron aplikace atd.
Od r. 2020 je to obráceně, ověřování je ve výchozím stavu zapnuto a pokud chce poskytovatel obsahu povolit přístup z neověřených aplikací musí to udělat přes API.
Takže i tohle hraje roli a může to způsobovat to, že to na konkrétní konfiguraci od některých poskytovatelů chodí, a od některých ne.
Netuším, jak to má Skylink. Ale to je ten důvod, proč jsem zmiňoval ozkoušení z oficiálního balíčku (rpm, deb) pro Chrome. U Firefoxu je to trochu složitější, už jsem viděl, že sestavení Firefoxu z balíčku některých distribucí nefunguje, ale třebe ofiko Flatpak od Mozilly https://flathub.org/apps/org.mozilla.firefox chodí.

Ještě zmíním, že jsem celou dobu měl na mysli x86_64, pro ARM je to ještě komplikovanější i když existují oficiální Linux Widevine knihovny pro armhf a od loňska i arm64 (RPi 3,4,5).

Re:Widevine s VMP na Linuxu - v čem je problém?
« Odpověď #2 kdy: 01. 11. 2023, 19:06:03 »
Toto mi poslali ze Skylinku 26.10.2023

v uplynulých dnech došlo z naší strany k aktivaci VMP (Verified Media Path), který omezuje neautorizované prohlížeče v získání klíče Widevine L3. Tato dodatečná ochrana byla povolena z důvodu omezení neautorizovaných prohlížečů ve streamování a zamezení možnosti nezákonného použití obsahu.

Zákazníci tedy nyní dostávají chybu přehrávače, příp. chybu DRM v případě, že nemají zabezpečení L3.

Tato chyba se může projevit zejména v okamžiku, kdy uživatel používá zařízení, prohlížeč nebo operační systém, který nedostává potřebné aktualizace po delší dobu (popř. nepravidelně nebo vůbec).

Zdá se, že operační systémy Linux v aktuální konfiguraci nesplňují nároky na zabezpečení s žádným webovým prohlížečem a streamování je tedy blokováno.

Aby bylo možné obsah nadále přehrávat, bude nutné, aby byl používaný software přizpůsoben aktuálním požadavkům na zabezpečení.

 Nejedná se tedy o omezení namířené proti uživatelům jakéhokoli konkrétního softwaru – je pouze potřeba zajistit si potřebné aktualizace. Ke stejnému kroku postupně přistupuje a nejspíše dále bude přistupovat většina poskytovatelů televizního a video obsahu.

 V případě dalších dotazů k problematice zabezpečení na systému Linux se prosím obraťte na jeho vývojáře.

Děkujeme za pochopení.

Děkujeme, že využíváte služeb Skylink.
S přáním hezkého dne,
Radek Skubach


Zákaznický servis

Re:Widevine s VMP na Linuxu - v čem je problém?
« Odpověď #3 kdy: 02. 11. 2023, 15:58:20 »
Jo to je o čem mluvím, začali vynucovat VMP a jelikož Linux VMP u Widevine nepodporuje tak máme na Linuxu smůlu.

Není to žádná otázka "prohlížeče nebo operačního systému který nedostává aktulizace". Prostě VMP pro Linux neexistuje.

A moje otázka spočívá v čem je problém že od roku 2019 stále Linux VMP nepodporuje.
Že to je problém se ví nejméně od roku 2020 kdy to začali vynucovat první streamovací platformy (tehdy jen pro "HD" obsah).

Vývoj Linuxu nemá zájem podporovat tuto technologii?
Widevine (Google) nechce podporovat Linux?

Kde je problém?

ja.

  • ****
  • 326
    • Zobrazit profil
    • E-mail
Re:Widevine s VMP na Linuxu - v čem je problém?
« Odpověď #4 kdy: 02. 11. 2023, 18:14:35 »
Jo to je o čem mluvím, začali vynucovat VMP a jelikož Linux VMP u Widevine nepodporuje tak máme na Linuxu smůlu.

Není to žádná otázka "prohlížeče nebo operačního systému který nedostává aktulizace". Prostě VMP pro Linux neexistuje.

A moje otázka spočívá v čem je problém že od roku 2019 stále Linux VMP nepodporuje.
Že to je problém se ví nejméně od roku 2020 kdy to začali vynucovat první streamovací platformy (tehdy jen pro "HD" obsah).

Vývoj Linuxu nemá zájem podporovat tuto technologii?
Widevine (Google) nechce podporovat Linux?

Kde je problém?

Niektorí vendori (AMD, Intel) majú podporu EGL_EXT_protected_content (na novších GPU), ale keďže ide o otvorený kód, Widewine nevie zaručene overiť, či tieto buffre sú naozaj chránené, alebo to iba tvrdí driver. Je možné vytvoriť driver, ktorý klame.

V podstate jedinou možnosťou v budúcnosti je vytvorenie "tunela" medzi displejom a CDM, kde sa displej bude musieť autentifikovať a potom sa CDM rozhodne, či mu dôveruje alebo nie. Otázkou zostáva, ako toto bude kompatibilné s open source.

Podobne na PC (ani vo Windows) neexistuje L1 Widevine, pretože to vyžaduje Trusted Execution Environment a v ňom sa dekóduje a zobrazuje obsah. To nemajú ani všetky Androidy.

Citace
For desktop Linux browsers that do not support VMP, it is possible to override the default Widevine DRM license server behavior by specifying a dedicated flag and still issue a license to grant playback. The ExpressPlay DRM service will provide a mechanism to override the default Widevine license server if needed.

Ak nebudú ochotní spraviť toto, zvažoval by som možnosť vypovedať zmluvu. Načo platiť za niečo, čo sa nedá použiť?


modnar


Re:Widevine s VMP na Linuxu - v čem je problém?
« Odpověď #6 kdy: 04. 11. 2023, 21:19:41 »
Problémy s widevine nakonec vedly ke zrušení Netflixu. Nejspíš z podobných důvodů přestal fungovat plugin v Kodi (Windows), ačkoliv v prohlížečích i nativní appce fungoval. V diskusích také ukazovali na problémy v Trusted dekódování (Kodi vlastně imituje prvek z Chrome). Vzhledem k tomu, že Kodi bylo pro mě jednotící platforma v ovládání (+ bonus k přehrávání s externími titulky), tak jsem přešel ke konkurenci ze Slovače. A takové mohou být dopady DRM :-p

leten

Re:Widevine s VMP na Linuxu - v čem je problém?
« Odpověď #7 kdy: 08. 12. 2023, 06:58:12 »
Tato chyba se může projevit zejména v okamžiku, kdy uživatel používá zařízení, prohlížeč nebo operační systém, který nedostává potřebné aktualizace po delší dobu (popř. nepravidelně nebo vůbec).

SkyLink LiveTV Funguje ve Windows 7 (které nemají ani SP1) a Chromu 109.

Re:Widevine s VMP na Linuxu - v čem je problém?
« Odpověď #8 kdy: 08. 12. 2023, 07:47:52 »
To je cele nejake divne... jeste nedavno jsem to zkousel v Ubuntu desktop 22.x LTS a fungovalo to v pohode. Mimoto - kazdy prodavany tzv. mediabox bezi na linuxu (google TV), televize taktez a tam aplikace evidentne funguji a je to linux, co je uvnitr... spise v tom bude zaklety nejaky vypeceny licencni soubor.... a proto to pak funguje / nefunguje

Re:Widevine s VMP na Linuxu - v čem je problém?
« Odpověď #9 kdy: 08. 12. 2023, 08:48:15 »
SkyLink LiveTV Funguje ve Windows 7 (které nemají ani SP1) a Chromu 109.

Ale to se ví že ta odpověď od technické podpory Skylinku je jen generickej žblept nesouvisící s realitou.
Pro přehrání je potřeba relativně aktuální browser který podporuje Widevine s Verified Media Path.
Nezáleží na jaké platformě (Windows, Android, iOS/MacOS) to běží či zdá má nějaké updaty.
Jedná se čistě jen o podporu Verified Media Path ve Widevine, která na Linuxu není.

To je cele nejake divne... jeste nedavno jsem to zkousel v Ubuntu desktop 22.x LTS a fungovalo to v pohode. Mimoto - kazdy prodavany tzv. mediabox bezi na linuxu (google TV), televize taktez a tam aplikace evidentne funguji a je to linux, co je uvnitr... spise v tom bude zaklety nejaky vypeceny licencni soubor.... a proto to pak funguje / nefunguje

Není to divné, podpora Verified Media Path ve Widevine pro Linux není, není již léta, ví se to veřejně od roku 2019.
Nedávno to fungovalo protože Skylink nevynucoval Verified Media Path, od konce října vynucuje a proto Skylink na žádné distribuci Linuxu obsah v browseru nepřehraje.

To že na "Google OS" Skylink Live TV pojede není divné protože pro Android (který je imho pod kapotou toho Media Boxu, Chromecastu, televizí s Androidem/Google TV atd.) Verified Media Path ve Widevine je.
A je zcela irelevantní že to celé má pod sebou Linuxovej kernel. Ten Widevine plugin podporující Verified Media Path běží v tý Androidí vrstvě.


Nehledejte v tom žádný kejkle, Widevine pro Linux nepodporuje Verified Media Path. Nikdo to do něj nenaprogramoval.

Jigdo

  • ****
  • 497
    • Zobrazit profil
Re:Widevine s VMP na Linuxu - v čem je problém?
« Odpověď #10 kdy: 13. 12. 2023, 17:49:58 »
Zajimavy nazor na VMP od nekoho kdo provozuje plug-in na cucani klicu
https://t.me/chromecdm/94
https://t.me/chromecdm/95

Jigdo

  • ****
  • 497
    • Zobrazit profil
Re:Widevine s VMP na Linuxu - v čem je problém?
« Odpověď #11 kdy: 17. 12. 2023, 17:12:05 »
Nehledejte v tom žádný kejkle, Widevine pro Linux nepodporuje Verified Media Path. Nikdo to do něj nenaprogramoval.


Tech informaci o VMP (Verified Media Path) moc neni,
ale jak pisete ze pod Linuxem neni podpora pro VMP tak
za to preci muze jedine provozovatel/vyrobce Widevine,
ktery to do prohlizecu ve Windows, Android a ChromeOS
povolil (nainstaloval/implementoval) ale do prohlizecu s Linuxem,
ne a nebo se mylim?

A pokud to takhle je, ocekava "about.google" ze se lide s timto
status quo smiri ze proste pro prehravani chraneneho obsahu
musi pouzit jiny OS a nebo ze budou hledat reseni jak to zmenit?

Co je zajimave, ze treba ty CDM co vytahuji z ChromeOS/Prohlizecu
maji jeste jeden blob, treba tady je to videt u tohoto projektu
(a starsi verze Chrome CDM)
https://www.opensourceagenda.com/projects/widevineclient

CDM Path

│  WidevineClient.exe
│ 
└─cdm
   └─devices
       └─chrome_1610
              device_client_id_blob
              device_private_key
              device_vmp_blob


Kde je i "device_vmp_blob".

Koukal jsem do manualu PyWideVine, jak vytvari W_ide_V_ine_D_evice (pywidevine create-device --help)
a v nejnovejsi verzi 1.7.0 podporuje:

  -k, --key PATH               Device RSA Private Key in PEM or DER format [required]
  -c, --client_id PATH         Widevine ClientIdentification Blob file [required]
  -v, --vmp PATH               Widevine FileHashes Blob file

Takze teoreticky, pokud se podari vycucat "device_vmp_blob" z ChromeOS/prohlizece, VMP by mohla fungovat pod Linuxem (ne v prohlizeci) ale s ffmpeg/vlc a nebo mpv ........
a jako vedlejsi produkt chraneny obsah, nechranene....