Hlavní navigace

WebTorrent: P2P videa v prohlížeči běhají překvapivě dobře

Roman Bořánek 19. 8. 2016

WebRTC nejsou jen videohovory. Nový projekt WebTorrent toto API používá pro P2P sdílení dat a nativní přehrávání videí v prohlížeči. Žádné pluginy netřeba, stačí jen HTML5 a JavaScript.

Protokol BitTorrent pro P2P sdílení souborů tento rok slaví 15. narozeniny a stále se těší velké popularitě. Na druhou stranu je pravda, že poslední roky už se nějak zvlášť nevyvíjí. Se zásadní, byť konceptuálně jednoduchou inovací teď přichází projekt WebTorrent. Jde o použití API WebRTC, které umožňuje torrenty streamovat přímo do prohlížeče namísto klasického spojení TCP/uTP.

O WebRTC se nejčastěji hovoří ve spojení s audio či videohovory přímo z prohlížeče, nicméně možnosti použití jsou mnohem širší. WebRTC umožňuje přímé spojení dvou prohlížečů a posílání v podstatě jakýchkoliv dat. A právě na tom staví WebTorrent. Projekt odstartoval Feross Aboukhadijeh a zaštiťuje ho společnost WebTorrent, která ho však podle slov autora nechce komercionalizovat. Tak jako tak, WebTorrent je svobodný software (licence MIT).

Co to je a jak to funguje?

Jako WebTorrent můžeme označovat víc věcí, primárně to ale je torrentový klient napsaný v JavaScriptu, který organizuje stahování zajišťuje navazování komunikace mezi peery. Samotný transport dat potom probíhá už přes zmíněné WebRTC. Peerové se hledají klasicky přes tracker protokol, který ale vzhledem k využití WebRTC musel být trochu poupraven. Autor tyto úpravy plánuje standardizovat prostřednictvím BEP (BitTorrent Enhancement Proposal).

V současnosti to tedy znamená, že BitTorrent a WebTorrent nejsou vzájemně kompatibilní. Dobrá zpráva je, že to do budoucna nebude představovat zásadní problém. Klienti mohou celkem snadno podporovat oba protokoly zároveň a uživatele rozdíl nemusí zajímat. Podporu WebTorrentu, resp. WebRTC, z významnějších klientů nabízí např. Vuze. Důležité je zmínit, že pro WebTorrent nemusíte mít odlišné torrenty. Na jednom torrentu mohou sedět BitTorrent a WebTorrent klienti a každý zkrátka bude komunikovat s tím, s kým to bude umět.

Znázornění (ne)kompatibility klientů pro BitTorrent a WebTorrent

Znázornění (ne)kompatibility klientů pro BitTorrent a WebTorrent

Pokud se WebTorrent alespoň trochu rozšíří, byla by hloupost, aby ho klienti nezačali podporovat. Ochuzovali by se tak o spojení s dalšími peery a typicky tedy i vyšší rychlost stahování. WebTorrent nelze brát jako konkurenci BitTorrentu, ale spíš jako vylepšení, které rozšiřuje možnosti využití. Navíc implementace WebRTC opravdu není nic světoborného, co by vyžadovalo mnoho prostředků, úsilí nebo co by snad mělo nepříznivý vliv na výkon klienta.

V rámci projektu vznikl také klient WebTorrent Desktop, dostupný pro Linux, Windows a OS X, který je právě hybridní – podporuje oba protokoly. Klient je napsaný v node.js, je opravdu jednoduchý a nemá téměř žádné možnosti nastavení. Ale funguje dobře. To se týká zejména integrovaného přehrávače videa, který zvládá také seekování. A překvapivě rychle. Při rychlosti stahování 20 Mbps přesun na vybranou (dosud nestaženou) pozici videa trval ani ne sekundu.

WebTorrent Desktop

WebTorrent Desktop

Webový klient = WebRTC + HTML5 + JavaScript

Ale teď k tomu hlavnímu. WebTorrent vznikl hlavně proto, aby dostal P2P video do webového prohlížeče. A to se mu daří náramně. Na webu projektu najdete ukázkové video, volně dostupný film Sintel. Tváří se jako klasické video v HTML5 hostované na nějakém serveru, ale místo toho se stahuje od X různých lidí, kteří video na stránce také přehrávají nebo těch peerů, kteří provozují klienta s podporou WebTorrentu.

Na webu je i pěkně znázorněno, jak se lehký javascriptový klient připojuje k dalším peerům a dostává od nich data. Ale kdyby tam takové znázornění nebylo, ani byste nepoznali, že defacto používáte BitTorrent. Se streamováním videa často bývají různé problémy, ale v tomto případě jsem se s žádným nesetkal. A to jsem vzhledem k tomu, jak je technologie nová, čekal spíš kostrbaté technologické demo. I v tomto případě je seekování velmi svižné.

Různé prohlížeče nepodporují všechny vlastnosti WebRTC, ale WebTorrent využívá pouze základní vlastnosti tohoto API, které by měly být podporovány všude. Chrome, Firefox, Opera, Edge a v podstatě každý další moderní prohlížeč, na který si vzpomenete, si s WebTorrentem poradí. Výjimkou je zatím Safari, nicméně i pro něj se podpora WebRTC připravuje. Na mobilních systémech je situace podobná a WebRTC zvládají téměř všechny oblíbené prohlížeče.

Vložení videa na webovou stránku je opravdu snadné. Stačí nalinkovat javascriptový klient a přidat adresu torrentu, případně rovnou jeho magnet URL. Opět připomeňme, že nemusí jít o torrent vytvořený pro WebTorrent, ale musí být k dispozici aspoň jeden seed, který WebTorrent podporuje, aby video v prohlížeči běželo. Autoři projektu se zaměřují hlavně na video, ale teoreticky není žádný problém technologii použít pro sdílení jakýchkoliv souborů.

Možnosti využití

Je to hezké, ale k čemu to je? Na tuto otázku neexistuje úplně snadná odpověď. Technologii samozřejmě mohou využít piráti, aby sdílení (a sledování) obsahu ještě usnadnili, ale to tu rozebírat nebudeme. WebTorrent by se celkem mohl hodit pro přehrávání videí v malém a středním rozsahu. Stačí založit torrent, spustit na jednom počítači s rozumnou konektivitou seedování a máte vystaráno. Nemusíte řešit hosting ani případné škálování, s tím už vypomohou návštěvníci.

Pak se ale nabízí otázka, proč radši nevyužít YouTube, Vimeo nebo nějaký další známý videoserver? WebTorrent bude spíš vyplňovat mezírky na trhu a používat se ve specifických případech, protože použití YouTube je přece jen snazší: nahrajete video a o nic dalšího se nemusíte starat. To ale vůbec nevadí. WebTorrent není služba, která by potřebovala určité množství uživatelů, aby přežila. Je to prostě otevřená a celkem jednoduchá technologie, která je a bude k dispozici.

Jisté omezení samozřejmě představuje fakt, že operátoři někdy rádi omezují P2P spojení. A někdy třeba nechcete odesílat data, abyste si nečerpali datový limit nebo omezovali jiné datové přenosy. Ale to by mělo jít v prohlížeči konfigurovat. WebTorrent ještě musí trochu dozrát, ale už nyní je zřejmé, že jde o povedený projekt, který dál rozšiřuje možnosti webových prohlížečů a který si své využití najde.

Našli jste v článku chybu?

19. 8. 2016 9:32

Omega (neregistrovaný)

Celkově bych řekl, že jste toho ze článku moc nepochopil. TT je rozšíření, tohle je nativní technologie, takže ano, je to už v browseru. Proto je použito webrtc, mohl jste si to alespoň hodit do googlu, než jste se zeptal, nebo hůř, nechápavě odsuzoval. A že to není kompatibilní, no když autor řekne že to není možný, tak mu zaručeně váš nesouhlas a nepochopení, otevřou oči a půjde to hned naprogramovat, navzdory tomu, že to prostě není možný.

Vážně je tak těžký se zamyslet a vyhledat si alespoň…

22. 8. 2016 13:14

Vyskakuje tu na me zlutej baner, ze blokuju reklamu i kdyz mam Adblock vypnutej. Takze si to opravte nebo ho zapnu a zaklokuju i ten stupidni zlutej baner...

Vitalia.cz: Baletky propagují zdravotní superpostel

Baletky propagují zdravotní superpostel

Vitalia.cz: Jste stále nemocní? Chybí vám zinek

Jste stále nemocní? Chybí vám zinek

Lupa.cz: Teletext je „internetem hipsterů“

Teletext je „internetem hipsterů“

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Vitalia.cz: Chtějí si léčit kvasinky. Lék je jen v Německu

Chtějí si léčit kvasinky. Lék je jen v Německu

DigiZone.cz: Recenze Westworld: zavraždit a...

Recenze Westworld: zavraždit a...

Podnikatel.cz: EET: Totálně nezvládli metodologii projektu

EET: Totálně nezvládli metodologii projektu

Lupa.cz: Seznam mění vedení. Pavel Zima v čele končí

Seznam mění vedení. Pavel Zima v čele končí

Vitalia.cz: Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Podnikatel.cz: Babiše přesvědčila 89letá podnikatelka?!

Babiše přesvědčila 89letá podnikatelka?!

Vitalia.cz: Manželka je bio, ale na sex moc není

Manželka je bio, ale na sex moc není

Lupa.cz: UX přestává pro firmy být magie

UX přestává pro firmy být magie

Vitalia.cz: Dáte si jahody s plísní?

Dáte si jahody s plísní?

Lupa.cz: Avast po spojení s AVG propustí 700 lidí

Avast po spojení s AVG propustí 700 lidí

DigiZone.cz: Rádio Šlágr má licenci pro digi vysílání

Rádio Šlágr má licenci pro digi vysílání

Podnikatel.cz: Chtějte údaje k dani z nemovitostí do mailu

Chtějte údaje k dani z nemovitostí do mailu

Podnikatel.cz: Podnikatelům dorazí varování od BSA

Podnikatelům dorazí varování od BSA

Podnikatel.cz: Víme první výsledky doby odezvy #EET

Víme první výsledky doby odezvy #EET

Lupa.cz: Google měl výpadek, nejel Gmail ani YouTube

Google měl výpadek, nejel Gmail ani YouTube

Root.cz: Certifikáty zadarmo jsou horší než za peníze?

Certifikáty zadarmo jsou horší než za peníze?