
Soti nan premye jou yo nan travay sou yon sistèm siveyans videyo nwaj, nou te fè fas ak yon pwoblèm, san yo pa yon solisyon a ki nou ta ka bay moute sou Ivideon - sa a te Everest nou an, k ap grenpe ki te pran anpil enèji, men kounye a nou gen finalman. kole yon rach nan tèt la nan kwa-platfòm devinèt la.
Sistèm pou transmèt odyo ak videyo sou entènèt la pa ta dwe depann sou ekipman, kliyan entènèt ak estanda yo sipòte, epi tou li travay kòrèkteman nan prezans tradiktè adrès rezo ak firewall. Yon itilizatè siveyans videyo nwaj vle jwenn aksè nan sèvis la, menm si li itilize kamera analòg, epi li prefere gade emisyon videyo an dirèk sou aparèy ki pi modèn lan.
Li trè enpòtan ke itilizatè a vle gade videyo ak reta minim. Prèske sèl fason pou montre videyo ki gen latansi ba nan yon navigatè se sèvi ak WebRTC (kominikasyon an tan reyèl entènèt). WebRTC se yon seri teknoloji pou transmisyon kanmarad videyo ak odyo nan navigatè yo, ki okòmansman fèt pou transmisyon ak lèktur kouran videyo ak latansi ki ba. Pou rezon sa a, pami lòt bagay, yo itilize pwotokòl UDP.
Anvan nou di w sa nouvo motè a bay itilizatè a, n ap raple w poukisa ak poukisa nou sipòte teknoloji HLS, ak poukisa nou deside kontinye.
Motè HLS: avantaj ak dezavantaj

()
Технология HLS (HTTP Live Streaming) разработана в Apple, поэтому не удивительно, что впервые её поддержка появилась на устройствах именно этого бренда. На сегодняшний день видеоряд в формате HLS также умеют воспроизводить практически все телевизионные приставки и многие устройства, работающие на ОС Android.
Motè HLS la sèvi ak kodèk videyo H264 ki byen koni an konbinezon ak kouran odyo AAC oswa MP3 pou difize done videyo yo. Tout kouran done odyo ak videyo yo pake nan yon veso transpò MPEG-TS. Pou transmisyon atravè pwotokòl HTTP, enfòmasyon ki nan kouran an divize an fragman ki dekri nan lis m3u8. Epi sèlman lè sa a fragman sa yo, ansanm ak playlists, yo transmèt atravè HTTP. Chunking otomatikman vle di yon reta nan segonn. Sa a se yon karakteristik nan veso MPEG-TS la.
Motè HLS la sipòte tou kouran miltibi, Live/VOD.
Avantaj prensipal HLS:
- sipò entegre nan tout navigatè prensipal yo;
- fasilite nan aplikasyon (konpare ak WebRTC);
- Li trè pratik ak efikas yo òganize tout kalite emisyon nan yon gwo odyans akòz lefèt ke segman yo ka Uploaded nan yon CDN yon fwa.
Malgre senplisite motè a, se pa tout bagay ki lis jan li sanble. Pwoblèm prensipal la se ke devlopè jwè twazyèm pati yo te deplase lwen rekòmandasyon Apple la, pou egzanp an tèm de fòma odyo sipòte. An patikilye, anpil devlopè yo te kòmanse ajoute kapasite nan travay ak kouran odyo popilè: mpeg2 videyo, mpeg2 odyo, elatriye Kòm yon rezilta, yo te gen yo kreye diferan fòma playlist pou jwè diferan.
Men, youn nan pi gwo pwoblèm ak motè HLS la se gwo latansi nan transfè done.
Orijin yo nan "fren"
Rezon prensipal ki fè gwo latansi HLS se nan lefèt ke pwogramasyon yo te kreye motè a pou jwenn imaj ki pi bon kalite. Se poutèt sa, paramèt yo nan entèval nan ankadreman yo itilize ak gwosè a nan tanpon nan lèktur yo tou senpleman pa apwopriye pou emisyon videyo ap viv. Poutèt sa, gen yon reta byen wo nan transmisyon an nan pye videyo, ki ka 5-7 segonn.
Sou yon bò, sa a se pa anpil, pou egzanp, pou moun ki gade yon fim nan yon sèvè hosting videyo. Men, pou sistèm siveyans videyo, reta nan transmèt videyo videyo ka trè enpòtan.
Si w ap gade yon biwo kote anplwaye yo gade nan monitè yo yon fwa pa èdtan, Lè sa a, yon reta nan 5 segonn pa gen pwoblèm ditou. Men, moun yo te kòmanse plenyen ke, pa egzanp, lè yo difize yon match foutbòl, yo te deja ekri GOOOOL nan chat la, men sa a poko sou videyo a :). Nou deja gen yon kantite ka itilizatè kote Ivideon ta dwe pratikman ranplase Skype.
Èske li posib pou bat latansi nan HLS? Repons kesyon sa a sanble ak diskou yon ekstèminatè rat ki gen eksperyans nan yon konferans bay espesyalis inisyasyon kontwòl ensèk nuizib yo: "Pa ka ekstèmine rat, men kantite yo ka redwi a yon minimòm rezonab." Menm jan ak reta nan HLS, li pa pral posib diminye li a zewo, men gen solisyon sou mache a ki ka siyifikativman diminye reta a.
Koupe byen
Yon lòt dezavantaj nan motè a se itilize nan ti dosye pou transfè done. Li ta sanble ke sa ki mal ak sa a?
Nenpòt moun ki te eseye kopye yon gwo kantite ti fichye soti nan yon mwayen nan yon lòt te pwobableman remake ke vitès la ekri nan yon seri sa yo pi ba anpil pase yon sèl gwo dosye nan menm gwosè a. Ak entansite aksè nan kondwi a difisil ogmante siyifikativman, ki jeneralman negatif afekte pèfòmans nan tout òdinatè a. Se poutèt sa, transmèt done videyo nan ti moso 10 dezyèm tou kontribye nan ogmante latansi motè.
Ann rezime yon ti tan tout avantaj ak dezavantaj teknoloji HLS.
Avantaj HLS:
- Kapasite pou travay ak nenpòt aparèy. Ou ka gade videyo sou nenpòt aparèy modèn, kit se yon smartphone, tablèt, laptop oswa PC Desktop. Bagay pwensipal lan se ke navigatè entènèt la se ajou ak konpatib ak HTML5 ak ekstansyon sous medya yo.
- Ekselan kalite imaj. Fonksyon transmisyon done adaptasyon yo itilize pèmèt ou chanje dinamik kalite videyo transmèt la depann sou Pleasant koneksyon entènèt la, pandan y ap algorithm la fè efò pou kenbe bon jan kalite maksimòm.
- Pa gen okenn nesesite pou konfigirasyon konplèks nan ekipman itilizatè a.
Enkonvenyans:
- Sipò limite pou travay ak motè a sou kèk aparèy.
- Gwo reta nan transmisyon imaj.
- Siyifikatif ogmantasyon nan anlè ak konpleksite nan optimize akòz itilizasyon ti dosye. Akòz nati veso a, nou p'ap janm ka jwenn yon latansi ki pi ba pase gwosè segman an.
Dezavantaj HLS yo te depase avantaj li yo pou nou e li te fòse nou chèche opsyon altènatif.
ki sa ki WebRTC?

()
Platfòm WebRTC te devlope pa Google an 2011 pou transmèt videyo difizyon ak done odyo ant navigatè ak aplikasyon mobil ak latansi minimòm. Pou sa, yo itilize pwotokòl UDP estanda ak algoritm kontwòl koule espesyal. Jodi a li se yon pwojè sous louvri, li se aktivman konsève pa Google epi yo te devlope.
WebRTC se yon seri teknoloji pou transmisyon videyo ak odyo kanmarad-a-kanmarad. Sa vle di, pou egzanp, navigatè itilizatè ki itilize WebRTC ka transfere done youn ak lòt dirèkteman, san yo pa itilize sèvè aleka pou estoke ak trete done. Tout enfòmasyon yo trete tou pa navigatè itilizatè fen yo ak aplikasyon mobil yo.
Удобство и большие возможности данной технологии по достоинству оценили разработчики всех популярных браузеров. Сегодня поддержка WebRTC реализована в Mozilla Firefox, Opera, Google Chrome (и всеми браузерами на базе Chromium), а также в мобильных приложениях под Android ak iOS.
Pou tout avantaj san dout li yo, WebRTC gen plizyè dezavantaj enpòtan.
Difikilte nan chwa
Teknoloji WebRTC se pi plis konplèks an tèm de entèraksyon rezo akòz lefèt ke li se sou P2P. Li difisil pou debogaj, teste, epi li ka konpòte li enprevizib. An menm tan, nou bezwen simonte NAT ak firewall, nou bezwen asire operasyon nan rezo kote UDP bloke.
Enplemantasyon WebRTC Google la trè difisil pou itilize. Gen menm yon konpayi tout antye ki bay sèvis asanble SDK. Anplis de sa, aplikasyon Google la te trè difisil pou entegre ak sistèm nou an san yo pa re-kode videyo a tout antye.
Sepandan, depi lontan nou te vle bay itilizatè yo opòtinite pou yo travay ak plen véritable "viv" videyo ak minimize lag ki genyen ant imaj la sou ekran an ak evènman yo tèt yo. Anplis de sa, nou te gen yon dezi fè itilizasyon kamera PTZ, kote reta yo kritik, pi konfòtab.
Lè nou konsidere ke lòt aplikasyon anti-lag toujou gen fonksyonalite limite ak travay notables pi mal, nou deside sèvi ak WebRTC.
Kisa nou fè

Byen aplike platfòm WebRTC a se pa yon travay fasil. Nenpòt move kalkil oswa erè ka mennen nan reta nan transmisyon videyo non sèlman pa diminye konpare ak lòt platfòm, men menm ogmante.
Pou WebRTC travay kòrèkteman, anvan tout bagay, li nesesè pote soti nan yon amelyorasyon teknolojik nan chemine a pou travay ak videyo entènèt. Se sa nou te fè.
Premyèman, nou te aplike yon sèvè pwotokòl siyal WebRTC sou Websocket, epi tou nou te deplwaye yon sèvè kanmarad WebRTC nan nwaj la ki baze sou SDK webrtc.org. Travay li se distribye kouran videyo bay parèy WebRTC kliyan yo nan fòma H.264 + Opus/G.711 san transkodaj videyo.
Nou te chwazi Websocket kòm pwotokòl siyal la paske li deja gen bon jan kalite sipò nan tout navigatè entènèt popilè yo. Akòz sa a, ou ka siyifikativman redwi non sèlman devlopman anlè, men tou, evite gaspiye tan ak resous sou repete TCP ak TLS handshake konpare ak AJAX.
Reyalite a se ke, pa default, WebRTC pa bay pwotokòl la siyal ki nesesè yo byen konfigirasyon, kenbe, ak mete fen nan kominikasyon an tan reyèl videyo ant sous la ak aplikasyon kliyan yo.
Ak nan lòd pou endepandan aplike teknoloji siyal, nou te bezwen devlope pwòp sèvè siyal nou an ak sipò pou plizyè pwotokòl entènèt (Websocet, WebRTC). Epi ak kapasite pou jere sesyon ak notifikasyon an sekirite an tan reyèl, jesyon videyo ak plis ankò.
Nou simonte limit P2P pa diminye latansi pa atravè P2P, men atravè UDP ak kontwòl koule pou redwi latansi. Sa a se tou bati nan WebRTC, depi itilizasyon prensipal la se konvèsasyon p2p atravè yon navigatè.
Nan kliyan mobil lan, nou aplike jwè a lè l sèvi avèk webrtc.org SDK la, paske sèlman li kòrèkteman aplike kontwòl koule, gen tout konplo yo li te ye Forward Error Correction (FEC), epi kòrèkteman aplike mekanis pou voye pake pou tout navigatè yo. Li enpòtan tou ke webrtc.org SDK ap devlope aktivman pa Google.
Ki rezilta aplikasyon WebRTC?
Pou wè videyo an dirèk nan kamera, nou te ajoute yon nouvo jwè optimize ki baze sou WebRTC nan kont pèsonèl ou. Li bay vitès chaje videyo rapid ak konplètman elimine pwoblèm nan nan latansi akimile kòm tan gade ogmante.
Apre entwodwi sipò WebRTC nan sèvis nwaj Ivideon la, nou ka di ak yon konfyans total ke kliyan nou yo ka kounye a gade plen véritable videyo ap viv. Koulye a, reta a lè difize sekans videyo pa depase yon segonn! Pou konparezon, motè HLS anvan an te bay livrezon videyo ak yon reta nan 5-7 segonn. Diferans nan vitès demonstrasyon videyo a trè enpòtan, epi itilizatè a pral remake li imedyatman apre yo fin kòmanse travay ak sèvis videyo nou an.
Kòm nou te espere, aplikasyon an nan nouvo jwè a te amelyore repons nan PTZ ak kominikasyon vwa ak kamera a.

Gen yon sèl pwen sibtil ke nou vle atire atansyon a. Nouvo jwè WebRTC la ap travay kounye a nan mòd tès. Epi se poutèt sa nou pa pèmèt li pou tout kliyan nou yo pa default. Men, ou ka aktive li tèt ou pa pèmèt atik ki koresponn lan nan anviwònman yo kamera (pou fè sa, ale nan ).
Karakteristik nan aplikasyon an nan WebRTC nan sèvis la Ivideon

WebRTC se toujou yon teknoloji eksperimantal nan moman sa a. Sipò li yo poko aplike kòrèkteman nan tout navigatè ak aparèy itilizatè yo, epi tou li pa nan tout kamera.
Sa a se jisteman poukisa nou poko fè jwè WebRTC a default pou tout itilizatè yo.
Pou kounye a, nou rekòmande pou itilize WebRTC sèlman nan navigatè Google Chrome. Dènye vèsyon Firefox ak Safari sipòte tou teknoloji sa a, men, malerezman, li toujou enstab.
Nou poko aplike sipò WebRTC pou navigatè sou aparèy mobil. Kounye a, si w konekte ak yon aparèy mobil epi aktive WebRTC, mòd sa a p ap travay. Sepandan, WebRTC disponib nan aplikasyon mobil nou yo pou и .
Epi konkli istwa a sou karakteristik yo nan aplikasyon an WebRTC nan sèvis nou an, se pou nou sonje de plis pwen sibtil.
Premyèman, teknoloji a konsantre sou difize videyo ap viv an tan reyèl. Kidonk, si chanèl ou a pa gen ase bandwidth pou transmèt videyo a, w ap remake gout ankadreman (ak HLS w ap remake fading videyo ak ogmante latansi, men pa pral gen gout gout ankadreman), men videyo a ap toujou emisyon an reyèl. tan.
Dezyèmman, depi teknoloji a fèt pou travay espesyalman ak videyo ap viv an tan reyèl, nou pa sèvi ak li pou travay ak done videyo achiv yo.
Lòt chanjman nan sèvis la
Nan moman sa a, Flash pa patisipe ankò nan mekanis seleksyon motè otomatik la. Ou ka toujou sèvi ak yon jwè konsa, men pou w fè sa ou bezwen chwazi li manyèlman nan kont oswa anviwònman kamera. Sa a se pa yon peye lajan taks bay alamòd, li jis ke dapre estatistik yo nan sèvis nou an, pa gen pratikman itilizatè yo kite travay ak Flash. Ak ap eseye detèmine si navigatè itilizatè a sipòte li, nou pèdi apeprè 2 segonn nan tan presye.
Men yon apèsi tou kout sou chanjman ki ap tann ou nan sistèm siveyans videyo nwaj nou an ak kont pèsonèl nou an. Rete avèk nou epi swiv nouvèl la!
Sous: www.habr.com
