Műsorszolgáltató a videó stream az ip-kamera segítségével WebRTC, savepearlharbor
Rajta van legalább két oka van:
1. Mivel a nézők számát sugárzott Ethernet növekvő hiány lesz érezhető az első csatorna vastagságban, majd a források a kamera is.
Elindításához posnifaem IP kamerát, hogy mi ez a készülék elküldi a böngésző oldalon. Ahogy a kísérleti kamra jelentése D-Link DCS 7010L:
A kép megjelenik az összes böngészőben és egyenletesen podlagivaet, körülbelül másodpercenként egyszer. Tekintettel arra, hogy a fényképezőgép és a laptop, amelyen azt látjuk, egy patak csatlakozik ugyanarra a router, akkor legyen sima és szép, de nem az. Hasonló a HTTP. Fuss Wireshark hogy erősítse meg a találgatások:
Itt látunk egy szekvencia TCP töredékek 1514 bájt hosszúságú
és befejez egy HTTP 200 OK hosszú elfogadott JPEG:
Ezután menj a Chrome / Developer Tools / Hálózat, és látni valós időben hogyan flash egy GET kérést és továbbított képeket HTTP-n keresztül:
Az ilyen streaming nem kell. Nem sima, húzza a HTTP kéréseket. Hány és másodpercenként a kamera állni? Okunk van azt hinni, hogy a 10 néző a kamera előtt kezd biztonságosan hajlított vagy félek hogy nem produkál diák.
Ha megnézzük a HTML oldal admin kamera, amit itt látunk egy érdekes kód:
Itt lehet megemlíteni egy másik Flash Player, amely lehet egy megfelelő típusú Wowza szerver megkapja RTMP stream az átalakított RTSP, RTP, H.264. Azonban a Flash Player, mint ismeretes, túl, egy böngésző plug-in, bár jóval népszerűbbek a VLC vagy QuickTime.
Ebben az esetben fogjuk tesztelni azonos RTSP / RTP újra streaming, hanem lejátszóig fogják használni WebRTC-kompatibilis böngésző anélkül, hogy további böngésző plug és más mankó. Mi lesz a szerver beállítása relé, ami elveszi a áramlását IP-kamerák, és adja meg, hogy tetszőleges számú internethasználók böngészőkkel támogatást WebRTC.
Csatlakoztatása IP-kamra
A kamera beállítása
Először is, a kamera beállítások le vannak tiltva hitelesítés részeként - a vizsgálati ad flow mindenkinek, aki kérdez. Ehhez a webes felületen a kamera megy a beállítás - Hálózat és az értéket az Authentication tiltása lehetőséget.
By the way, az áramlás a játék simán nélkül leletek. Várjuk ugyanaz WebRTC.
A kiszolgáló
Kalapált a megfelelő beállításokat a router ...
telnet 178.51.142.223 554
Ügyelve arra, hogy a port a válasz, folytassa a szerver telepítéséhez WebRTC.
Hosting lesz felelős a virtuális szerver Centos 64 bit az Amazon EC2.
Nem probléma van, akkor válasszon egy példányát m3.medium VCPU:
Igen, igen, még mindig van egy Linode és DigitalOcean, de ebben az esetben akart poamazonit.
Ami a jövőt illeti, írok az Amazon EC2 vezérlőpulton meg kell adni bizonyos szabályok (port forwarding), amely nélkül ez nem fog működni. Ez portok WebRTC (SRTP, RTCP, ICE) közlekedési és portok RTSP / RTP forgalmat. Ha megpróbáljuk, az Amazon szabályokat kell valami hasonlót a bejövő forgalom számára:
Mivel a szerver szoftver, a relé RTSP / RTP stream WebRTC fogja használni WebRTC Media # 038; A műsorszóró Szervert Flashphoner. Streaming szerver nagyon hasonlít a Wowza. amely képes adni RTSP / RTP folyam a Flash. Az egyetlen különbség az, hogy ez az áramlás kap a WebRTC, hanem a Flash. Ie a böngésző és a szerver lesz becsületes DTLS, SRTP kapcsolat jön létre, és a patak kódolt VP8 lesz a közönség.
A telepítéshez szükség van SSH-hozzáféréssel.
Under spoiler - részletes leírása a végrehajtott parancsok
Az elképzelés az, hogy ahelyett, hogy a fenti 10. célszerű lenne megkérdezni a szükséges portok és a tűzfal szabályokat, de tesztelési célokra, úgy döntött, hogy egyszerűen kikapcsolja a tűzfalat.
A szerver beállítása
Emlékezzünk vissza, hogy a szerkezet a WebRTC fordítás a következő:
Telepítés alapeleme ebben az ábrában, már készül, hogy létre kell hozni „nyilak” kölcsönhatásokat.
A kapcsolat a böngésző és a szerver WebRTC biztosít web-kliens, amely a githabe. Állítsa JS, CSS és HTML fájlokat egyszerűen dob a / var / www / html a telepítés során (ld. Fenti 9. pont spoiler).
A szerver beállítása itt véget ér, akkor nézd meg a munkáját:
Nyissa meg a web-kliens index.html oldalt a böngészőben (erre a célra ugyanazon Amazon kiszolgáló telepítve apache parancs yum -y install httpd):
És DDNS támogatása a router úgy néz ki:
Most már készen áll, hogy teszteljék és értékeljék az eredményeket.
tesztelés
Ekkor létrejön a kapcsolat a szerverrel böngésző vebsoketam, akkor a szerver kér IP kamera RTSP, H.264 kap áramot az RTP transcodes be VP8 / SRTP - ami végül is játszik WebRTC- böngészőt.
Ezt követően, miután egy rövid várakozás, megjeleníti az ismerős kép.
Gondoskodunk róla, hogy tényleg WebRTC.
Ebben az időben, akkor nem villog, és nem lát képeket HTTP protokollon keresztül. Minden, amit látunk ebben az időben - ez WebSocket keretek, és a legtöbbjük tartozik a ping / pong típusú fenntartani WebSocket-session. Érdekes keretek: csatlakozni, prepareRtspSession és onReadyToPlay - ebben a sorrendben van telepítve kapcsolódni a szerverhez: első párhuzamos kapcsolása WebSocket, majd patak reprodukció kérelmet.
De ez azt mutatja, a chrome: // WebRTC-internals
Tanúsága szerint a grafikonok, hogy van egy kis üteme 1 Mbps IP kamera. A kimenő forgalom is, valószínűleg ez RTCP csomagokat és a jég. RTT az Amazonas szerver körülbelül 300 milliszekundum.
A következő teszt - a kapcsolat más nézők. Nem sikerült megnyitni a Chrome Windows 10, és mindegyik képet mutat. Ugyanakkor kezdte a Chrome egy kicsit tompa. Amikor a nyitás a 11. ablak egy másik számítógépen, a lejátszás sima volt.
Mintegy WebRTC mobil
Mint ismeretes, a WebRTC támogatja a Chrome és a Firefox böngészőt az Android platform.
Megnézzük, mi adás van meg:
következtetés
Ennek eredményeként sikerült futtatni a WebRTC online sugárzott IP-kamerák több böngészővel minimális erőfeszítéssel. Nem vállal semmilyen táncokat tambura, nem rakéta-tudomány - csak az alapvető ismereteket a Linux és SSH-konzol.
Broadcast minőségű volt elfogadható szinten, és a lejátszási késleltetés észrevehetetlen a szemnek.
Miért nem látjuk a széles körű bevezetését WebRTC?
A fő fék talán a hiányzó kodekeket. WebRTC közösség és a gyártók erőfeszítést kellene tennie, és tegye be a H.264 kodek WebRTC. Ellen VP8 nincs mit mondani, de miért adja fel milliónyi kompatibilis eszközök és szoftverek, amelyek működnek H.264? A szabadalmak szabadalmi ...
A második helyen nem teljesen támogatott böngészők. C IE és Safari, például a kérdés továbbra is nyitott, és ott kell váltani egy másik típusú streaming vagy egy dugós webrtc4all.
Annak érdekében, hogy a jövőben, reméljük, hogy több érdekes megoldást, ami nem kell konverziót és az átkódolás patakok és a legtöbb böngésző is otygrivat folyamok több eszköz már közvetlenül.