WebRTC og myndbandseftirlit: hvernig við sigruðum myndbandsleynd frá myndavélum

WebRTC og myndbandseftirlit: hvernig við sigruðum myndbandsleynd frá myndavélum

Frá fyrstu dögum vinnu við skýmyndaeftirlitskerfi stóðum við frammi fyrir vandamáli, án lausnar sem við gætum gefist upp á á Ivideon - þetta var Everest okkar, klifur sem tók mikla orku, en nú höfum við loksins stakk ísöxi í toppinn á þverpallaþrautinni.

Kerfið til að senda hljóð og mynd í gegnum netið ætti ekki að vera háð búnaði, vefþjónum og stöðlum sem þeir styðja, og virka einnig rétt í návist netfangaþýðenda og eldvegga. Myndbandsnotandi í skýi vill fá aðgang að þjónustunni, jafnvel þó hann noti hliðstæðar myndavélar, og kýs frekar að horfa á beina myndbandsútsendingu á nútímalegasta tækinu.

Það er mjög mikilvægt að notandinn vill horfa á myndbönd með lágmarks töf. Næstum eina leiðin til að sýna myndband með lítilli leynd í vafra er að nota WebRTC (vefrauntímasamskipti). WebRTC er sett af tækni fyrir jafningjasendingar á mynd- og hljóði í vöfrum, upphaflega hönnuð fyrir sendingu og spilun á myndstraumum með lítilli leynd. Í þessu skyni er meðal annars UDP samskiptareglan notuð.

Áður en við segjum þér hvað nýja vélin gefur notandanum munum við minna þig á hvers vegna og hvers vegna við styðjum HLS tækni og hvers vegna við ákváðum að halda áfram.

HLS vél: kostir og gallar

WebRTC og myndbandseftirlit: hvernig við sigruðum myndbandsleynd frá myndavélum
(c)

Технология HLS (HTTP Live Streaming) разработана в Apple, поэтому не удивительно, что впервые её поддержка появилась на устройствах именно этого бренда. На сегодняшний день видеоряд в формате HLS также умеют воспроизводить практически все телевизионные приставки и многие устройства, работающие на ОС Android.

HLS vélin notar hið þekkta H264 myndbandsmerkjamál ásamt AAC eða MP3 hljóðstraumum til að streyma myndbandsgögnum. Öllum hljóð- og myndgagnastraumnum er pakkað inn í MPEG-TS flutningsílát. Fyrir sendingu í gegnum HTTP samskiptareglur er upplýsingum sem eru í straumnum skipt í brot sem lýst er í m3u8 spilunarlistum. Og aðeins þá eru þessi brot, ásamt lagalistum, send í gegnum HTTP. Chunking þýðir sjálfkrafa seinkun í sekúndum. Þetta er eiginleiki MPEG-TS ílátsins.

HLS vélin styður einnig margbita strauma, Live/VOD.

Helstu kostir HLS:

  • innbyggður stuðningur í öllum helstu vöfrum;
  • auðveld útfærsla (samanborið við WebRTC);
  • Það er mjög þægilegt og skilvirkt að skipuleggja alls kyns útsendingar fyrir stóran áhorfendahóp vegna þess að hægt er að hlaða inn þáttum einu sinni á CDN.

Þrátt fyrir einfaldleika vélarinnar er ekki allt eins slétt og það virðist. Helsta vandamálið er að leikaraframleiðendur frá þriðja aðila hafa fjarlægst ráðleggingar Apple, til dæmis hvað varðar studd hljóðsnið. Sérstaklega fóru margir verktaki að bæta við getu til að vinna með vinsælum hljóðstraumum: mpeg2 vídeó, mpeg2 hljóð osfrv. Fyrir vikið þurftu þeir að búa til mismunandi lagalistasnið fyrir mismunandi leikmenn.

En eitt stærsta vandamálið við HLS vélina er mikil leynd í gagnaflutningi.

Uppruni "bremsur"

Aðalástæðan fyrir mikilli leynd HLS liggur í þeirri staðreynd að forritarar bjuggu til vélina til að fá hágæða myndir. Þess vegna henta færibreytur rammabilsins sem notað er og stærð spilunarbuffsins einfaldlega ekki fyrir beinar myndbandsútsendingar. Vegna þessa er nokkuð mikil seinkun á sendingu myndbandsupptaka, sem getur verið 5-7 sekúndur.

Annars vegar er þetta ekki mikið, til dæmis fyrir þá sem horfa á kvikmynd frá myndbandshýsingarþjóni. En fyrir myndbandseftirlitskerfi getur seinkunin á að senda myndbandsupptökur verið mjög mikilvæg.

Ef þú ert að horfa á skrifstofu þar sem starfsmenn líta upp af skjánum sínum einu sinni á klukkustund, þá skiptir 5 sekúndna seinkun engu máli. En fólk fór að kvarta yfir því að td þegar það var útvarpað fótboltaleik skrifaði það GOOOOL á spjallið, en þetta er ekki enn á myndbandinu :). Við höfum nú þegar fjölda notendatilvika þar sem Ivideon ætti nánast að koma í stað Skype.

Er hægt að slá leynd í HLS? Svarið við þessari spurningu hljómar eins og ræðu reyndra rottueyðinga á fyrirlestri fyrir nýliða meindýraeyðinga: „Ekki er hægt að útrýma rottum en fækka þeim niður í hæfilegt lágmark. Sama með seinkunina í HLS, það verður ekki hægt að minnka hana niður í núll en það eru til lausnir á markaðnum sem geta dregið verulega úr seinkuninni.

Fínir skurðir

Annar ókostur vélarinnar er notkun lítilla skráa til gagnaflutnings. Það virðist sem hvað er athugavert við þetta?

Allir sem hafa reynt að afrita mikið magn af litlum skrám frá einum miðli til annars hefur líklega tekið eftir því að skrifhraði slíks setts er mun lægri en ein stór skrá af sömu stærð. Og styrkleiki aðgangs að harða disknum eykst verulega, sem hefur almennt neikvæð áhrif á afköst allrar tölvunnar. Þess vegna stuðlar það einnig að aukinni biðtíma vélarinnar að senda myndbandsgögn í litlum 10 sekúndna klumpum.

Við skulum draga stuttlega saman alla kosti og galla HLS tækninnar.

Kostir HLS:

  1. Geta til að vinna með hvaða tæki sem er. Þú getur horft á myndbönd í hvaða nútíma tæki sem er, hvort sem það er snjallsíma, spjaldtölva, fartölvu eða borðtölvu. Aðalatriðið er að vafrinn er uppfærður og samhæfur við HTML5 og Media Source viðbætur.
  2. Frábær myndgæði. Aðlagandi gagnaflutningsaðgerðin sem notuð er gerir þér kleift að breyta gæðum myndbandsins sem send er á kraftmikinn hátt eftir bandbreidd internettengingarinnar, á meðan reikniritið leitast við að viðhalda hámarksgæðum.
  3. Það er engin þörf fyrir flókna uppsetningu á búnaði notandans.

Ókostir:

  1. Takmarkaður stuðningur við að vinna með vélina í sumum tækjum.
  2. Miklar tafir á myndsendingum.
  3. Veruleg aukning á kostnaði og flókið hagræðingu vegna notkunar á litlum skrám. Vegna eðlis gámsins munum við aldrei geta fengið lægri töf en hlutastærð.

Ókostir HLS vógu þyngra en kostir þess fyrir okkur og neyddu okkur til að leita að öðrum valkostum.

Hvað er WebRTC

WebRTC og myndbandseftirlit: hvernig við sigruðum myndbandsleynd frá myndavélum
(c)

WebRTC vettvangurinn var þróaður af Google árið 2011 til að senda streymandi myndbands- og hljóðgögn á milli vafra og farsímaforrita með lágmarks leynd. Fyrir þetta eru staðlaðar UDP samskiptareglur og sérstök flæðistýringaralgrím notuð. Í dag er það opinn uppspretta verkefni, það er virkt viðhaldið af Google og er í þróun.

WebRTC er sett af tækni fyrir jafningi-til-jafningi mynd- og hljóðsendingar. Það er til dæmis að notendavafrar sem nota WebRTC geta flutt gögn sín á milli beint, án þess að nota ytri netþjóna til að geyma og vinna gögn. Allar upplýsingar eru einnig unnar af vöfrum og farsímaforritum notenda.

Удобство и большие возможности данной технологии по достоинству оценили разработчики всех популярных браузеров. Сегодня поддержка WebRTC реализована в Mozilla Firefox, Opera, Google Chrome (и всеми браузерами на базе Chromium), а также в мобильных приложениях под Android og iOS.

Þrátt fyrir alla ótvíræða kosti sína hefur WebRTC nokkra verulega ókosti.

Erfiðleikar við að velja

WebRTC tæknin er miklu flóknari hvað varðar netsamskipti vegna þess að hún snýst um P2P. Það er erfitt að kemba, prófa og geta hegðað sér ófyrirsjáanlega. Á sama tíma þurfum við að sigrast á NAT og eldvegg, við þurfum að tryggja rekstur í netkerfum þar sem UDP er læst.

WebRTC útfærsla Google er mjög erfið í notkun. Það er meira að segja heilt fyrirtæki sem veitir SDK samsetningarþjónustu. Auk þess var mjög erfitt að samþætta innleiðingu Google við kerfið okkar án þess að endurkóða allt myndbandið.

Hins vegar höfum við lengi viljað gefa notendum tækifæri til að vinna með „lifandi“ myndbandi og lágmarka töf á milli myndar á skjánum og atburðanna sjálfra. Auk þess höfðum við löngun til að gera notkun PTZ myndavéla, þar sem tafir eru mikilvægar, þægilegri.

Í ljósi þess að aðrar útfærslur gegn seinkun hafa enn takmarkaða virkni og virka áberandi verr, ákváðum við að nota WebRTC.

Hvað höfum við gert

WebRTC og myndbandseftirlit: hvernig við sigruðum myndbandsleynd frá myndavélum

Það er ekki auðvelt verkefni að útfæra WebRTC vettvanginn á réttan hátt. Allar rangar útreikningar eða ónákvæmni getur leitt til tafa á myndbandssendingum, ekki aðeins minnkandi miðað við aðra vettvang, heldur jafnvel aukist.

Til að WebRTC virki rétt er fyrst og fremst nauðsynlegt að framkvæma tæknilega uppfærslu á staflanum til að vinna með vefmyndbönd. Það var það sem við gerðum.

Í fyrsta lagi innleiddum við WebRTC merkjasamskiptamiðlara yfir Websocket og settum einnig upp WebRTC jafningjaþjón í skýinu sem byggir á webrtc.org SDK. Verkefni þess er að dreifa vídeóstraumum til WebRTC jafningja viðskiptavina á H.264 + Opus/G.711 sniði án myndbands umkóðun.

Við völdum Websocket sem merkjasamskiptareglur vegna þess að hún hefur nú þegar hágæða stuðning í öllum vinsælum vöfrum. Vegna þessa geturðu dregið verulega úr, ekki aðeins þróunarkostnaði, heldur einnig forðast að eyða tíma og fjármagni í endurtekið TCP og TLS handaband miðað við AJAX.

Staðreyndin er sú að sjálfgefið er að WebRTC veitir ekki merkjasamskiptareglur sem nauðsynlegar eru til að stilla, viðhalda og slíta rauntíma myndbandssamskiptum milli uppruna- og viðskiptavinaforrita á réttan hátt.

Og til þess að innleiða merkjatækni sjálfstætt þurftum við að þróa okkar eigin merkjamiðlara með stuðningi fyrir nokkrar vefsamskiptareglur (Websocet, WebRTC). Og með getu til að stjórna lotum og tilkynningum á öruggan hátt í rauntíma, vídeóstjórnun og margt fleira.

Við sigruðumst á takmörkunum P2P með því að draga úr leynd, ekki í gegnum P2P, heldur með UDP og flæðistýringu til að draga úr leynd. Þetta er líka innbyggt í WebRTC, þar sem aðal notkunartilvikið er p2p samtöl í gegnum vafra.

Í farsímabiðlaranum innleiddum við spilarann ​​með því að nota webrtc.org SDK, þar sem aðeins hann útfærir flæðisstýringu rétt, hefur öll þekkt Forward Error Correction (FEC) kerfi og útfærir rétt kerfi til að endursenda pakka fyrir alla vafra. Það er líka mikilvægt að vefrtc.org SDK sé í virkri þróun hjá Google.

Hver er árangurinn af innleiðingu WebRTC?


Til að skoða lifandi myndbönd frá myndavélum höfum við bætt nýjum fínstilltum spilara sem byggir á WebRTC við persónulega reikninginn þinn. Það veitir hraðan hleðsluhraða myndbanda og útilokar algjörlega vandamálið með leynd sem safnast upp þegar áhorfstími eykst.

Eftir að hafa kynnt WebRTC stuðning í Ivideon skýjaþjónustunni getum við sagt með fullri vissu að viðskiptavinir okkar geti nú horft á fullkomið lifandi myndband. Nú fer seinkunin á útsendingu myndskeiða ekki yfir eina sekúndu! Til samanburðar veitti fyrri HLS vélin myndsendingu með 5-7 sekúndum seinkun. Munurinn á myndbandshraða er mjög verulegur og notandinn mun taka eftir honum strax eftir að hann byrjar að vinna með myndbandsþjónustunni okkar.

Eins og við bjuggumst við hefur útfærsla nýja spilarans bætt viðbrögð PTZ og raddsamskipta við myndavélina.

WebRTC og myndbandseftirlit: hvernig við sigruðum myndbandsleynd frá myndavélum

Það er aðeins einn lúmskur punktur sem við viljum vekja athygli á. Nýi WebRTC spilarinn er núna að vinna í prófunarham. Og þess vegna virkjum við það ekki sjálfgefið fyrir alla viðskiptavini okkar. En þú getur virkjað það sjálfur með því að virkja samsvarandi atriði í myndavélarstillingunum (til að gera þetta skaltu fara á Private skrifstofa).

Eiginleikar innleiðingar WebRTC í Ivideon þjónustunni

WebRTC og myndbandseftirlit: hvernig við sigruðum myndbandsleynd frá myndavélum

WebRTC er enn tilraunatækni í augnablikinu. Stuðningur þess er ekki enn rétt útfærður í öllum vöfrum og notendatækjum, og heldur ekki í öllum myndavélum.

Þetta er einmitt ástæðan fyrir því að við höfum ekki enn gert WebRTC spilarann ​​að sjálfgefnu fyrir alla notendur.

Í bili mælum við með því að nota WebRTC aðeins í Google Chrome vöfrum. Nýjustu útgáfur Firefox og Safari styðja einnig þessa tækni, en því miður er hún enn óstöðug.

Við höfum ekki enn innleitt WebRTC stuðning fyrir vafra í fartækjum. Eins og er, ef þú skráir þig inn úr farsíma og virkjar WebRTC, mun þessi stilling ekki virka. Hins vegar er WebRTC fáanlegt í farsímaforritum okkar fyrir Android и IOS.

Og til að ljúka sögunni um eiginleika WebRTC útfærslunnar í þjónustu okkar, skulum við athuga tvö lúmsk atriði í viðbót.

Í fyrsta lagi beinist tæknin að því að senda út myndband í beinni í rauntíma. Þess vegna, ef rásin þín hefur ekki næga bandbreidd til að senda myndbandið, muntu taka eftir rammafalli (með HLS muntu taka eftir því að myndbandið dofnar og aukin leynd, en það verður engin rammafall), en myndbandið verður samt útvarpað í alvöru tíma.

Í öðru lagi, þar sem tæknin er hönnuð til að vinna sérstaklega með lifandi myndbandi í rauntíma, notum við hana ekki til að vinna með geymd myndbandsgögn.

Aðrar breytingar á þjónustunni

Á þessum tíma tekur Flash ekki lengur þátt í sjálfvirka vélvalsbúnaðinum. Þú getur samt notað slíkan spilara, en til að gera þetta þarftu að velja hann handvirkt í reikningnum eða myndavélarstillingunum. Þetta er ekki virðing fyrir tísku, það er bara það að samkvæmt tölfræði þjónustu okkar eru nánast engir notendur eftir að vinna með Flash. Og við að reyna að ákvarða hvort vafri notandans styður það, töpum við um 2 sekúndum af dýrmætum tíma.

Hér er stutt yfirlit yfir þær breytingar sem bíða þín á skýmyndaeftirlitskerfi okkar og persónulegum reikningi. Vertu hjá okkur og fylgdu fréttunum!

Heimild: www.habr.com

Kauptu áreiðanlega hýsingu fyrir síður með DDoS vernd, VPS VDS netþjónum 🔥 Kauptu áreiðanlega vefhýsingu með DDoS vörn, VPS VDS netþjónum | ProHoster