← Cloudflare Realtime / realtime / sfu
Úvod
Cloudflare Realtime lze použít k přidání zvuku, videa a dat v reálném čase do vašich aplikací. Cloudflare Realtime využívá WebRTC, což je způsob komunikace s nejnižší latencí napříč širokou škálou platforem, jako jsou prohlížeče, mobilní zařízení a nativní aplikace.
Realtime se integruje s vaší backendovou i frontendovou aplikací a přidává jim funkce pro komunikaci v reálném čase.
Proč Cloudflare Realtime existuje
-
WebRTC se obtížně škáluje: Řada týmů má potíže se škálováním serverů WebRTC. Provozovatelé narážejí na omezení počtu uživatelů ve stejné „místnosti“ nebo chtějí vytvářet vlastní řešení, která se nevejdou do konceptů současných vysokoúrovňových API.
-
Vysoké náklady na odchozí přenos dat: Používání WebRTC bývá nákladné, protože spravovaná řešení si účtují vysoké příplatky za odchozí provoz z cloudu a provoz vlastních serverů zase přináší náklady na správu systému a škálování. Cloudflare už dnes provozuje více než 300 lokalit, z nichž některé mají přes 1 000 serverů. Cloudflare Realtime na této architektuře snadno škáluje a dokáže nabídnout nejnižší náklady na provoz WebRTC.
-
WebRTC roste: Vývojáři si čím dál víc uvědomují, že WebRTC neslouží jen k videokonferencím. WebRTC podporuje řada platforem, je vyzrálé a dobře prozkoumané.
Co dělá Cloudflare Realtime jedinečným
-
Bez vynucených konvencí: Cloudflare Realtime nenabízí SDK. Místo toho umožňuje přístup k čistému WebRTC, což pomáhá řešit specifické problémy, které se nevejdou do existujících konceptů. API je záměrně jednoduché.
-
Žádné místnosti: Na rozdíl od jiných WebRTC produktů vám Cloudflare Realtime dává plnou kontrolu nad každým trackem (audio/video/data), místo aby nabízel abstrakce, jako jsou místnosti. Protokol přítomnosti si definujete sami nad jednoduchým pub/sub. Každý koncový uživatel může podle potřeby publikovat audio/video/data tracky a odebírat je.
-
Žádná vázanost na dodavatele: Cloudflare Realtime můžete použít k řešení problémů se škálovatelností vašeho SFU. Můžete jej kombinovat s architekturou peer to peer. Cloudflare Realtime lze použít i samostatně. Míra využití Cloudflare Realtime je zcela na vás.
Co přesně dělá Cloudflare Realtime?
-
SFU: Realtime je speciální typ serveru pub/sub, který dokáže efektivně přeposílat mediální data klientům odebírajícím určitá data. Každý klient se ke Cloudflare Realtime připojuje přes WebRTC a pomocí něj data buď odesílá, přijímá, nebo obojí. Může jít o zvukové či obrazové stopy nebo o DataChannels.
-
Škáluje se: Všechny servery Cloudflare fungují jako jeden server, díky čemuž se ke Cloudflare Realtime mohou připojit miliony klientů WebRTC. Každý z nich může ostatním klientům odesílat data, přijímat data, nebo obojí.
Jak většina vývojářů začíná
-
Začněte s příkladem echo, který si můžete stáhnout z Cloudflare dashboardu při vytváření Realtime App nebo z ukázky. Ukážeme vám, jak odesílat a přijímat zvuk a video.
-
Pochopte, jak můžete řídit, kdo může přijímat jaká média, pomocí předávání ID relace a tracku. Nezapomeňte, že máte pod kontrolou, kdo dané médium přijímá. Každý mediální track je reprezentován jedinečným ID. Za uložení a distribuci tohoto ID odpovídáte vy.
- Vytvořte aplikaci, ve které budete spravovat jednotlivá připojení ke Cloudflare Realtime a ID stop vytvořených jednotlivými připojeními. Pro ukládání a sdílení stop můžete použít libovolný nástroj. Ukázkové aplikace najdete na ukázky, jako je Orange Meets ↗, což je plnohodnotná aplikace pro videokonference využívající Workers Durable Objects a sledovat tak ID tracků.