WebRTC le leihlo la video: kamoo re hlotseng latency ea video ho tsoa ho lik'hamera

WebRTC le leihlo la video: kamoo re hlotseng latency ea video ho tsoa ho lik'hamera

Ho tloha matsatsing a pele a ho sebetsa tsamaisong ea ho shebella video ea leru, re ne re tobane le bothata, re se na tharollo eo re ka e tlohelang ka Ivideon - ena e ne e le Everest ea rona, ho hloa ho neng ho nka matla a mangata, empa joale re na le qetellong. ho kenya selepe sa leqhoa karolong e ka holimo ea puzzle ea sethala.

Sistimi ea ho fetisa molumo le video ka Marang-rang ha ea lokela ho itšetleha ka lisebelisoa, bareki ba Websaete le litekanyetso tseo ba li tšehetsang, hape e sebetsa ka nepo ka pel'a Bafetoleli ba Aterese ea Marang-rang le li-firewall. Mosebelisi ea shebellang video ea leru o batla ho fumana ts'ebeletso, leha a sebelisa lik'hamera tsa analog, 'me o khetha ho shebella phatlalatso ea video e phelang sesebelisoa sa sejoale-joale.

Ho bohlokoa haholo hore mosebelisi o batla ho shebella livideo ka tieho e nyane. Hoo e batlang e le mokhoa o le mong feela oa ho bonts'a video e nang le latency e tlase ho sebatli ke ho sebelisa WebRTC (lipuisano tsa nako ea nnete tsa marang-rang). WebRTC ke sete ea mahlale a phetiso ea lithaka tsa lithaka le li-audio ho li-browser, tseo qalong li neng li etselitsoe ho fetisa le ho bapala hape melapo ea video e nang le latency e tlase. Bakeng sa morero ona, har'a lintho tse ling, ho sebelisoa protocol ea UDP.

Pele re u bolella hore na enjene e ncha e fa mosebelisi eng, re tla u hopotsa hore na ke hobane'ng le hore na ke hobane'ng ha re tšehetsa theknoloji ea HLS, le hore na ke hobane'ng ha re nkile qeto ea ho tsoela pele.

Enjene ea HLS: melemo le boiketlo

WebRTC le leihlo la video: kamoo re hlotseng latency ea video ho tsoa ho lik'hamera
(c)

Theknoloji ea HLS (HTTP Live Streaming) e ntlafalitsoe ke Apple, kahoo ha ho makatse hore ebe e ile ea tšehetsoa ka lekhetlo la pele lisebelisoa tsa Apple. Kajeno, video ea HLS e boetse e tšehetsoa ke hoo e batlang e le mabokose 'ohle a set-top le lisebelisoa tse ngata tse sebelisang OS. Android.

Enjene ea HLS e sebelisa codec e tsebahalang ea video ea H264 hammoho le melapo ea audio ea AAC kapa MP3 ho tsamaisa data ea video. Phatlalatso eohle ea li-audio le video e kenngoa ka har'a sets'oants'o sa lipalangoang sa MPEG-TS. Bakeng sa phetisetso ka protocol ea HTTP, tlhahisoleseling e fumanehang molapong e arotsoe ka likhechana tse hlalositsoeng mananeng a lipina a m3u8. 'Me feela ka nako eo likhechana tsena, hammoho le manane a bapaloang, li fetisoa ka HTTP. Chunking ka bo eona e bolela ho lieha ka metsotsoana. Sena ke tšobotsi ea MPEG-TS setshelo.

Enjene ea HLS e boetse e ts'ehetsa melapo ea li-multibitrate, Live/VOD.

Melemo ea mantlha ea HLS:

  • tšehetso e hahiloeng ho li-browser tsohle tse kholo;
  • boiketlo ba ho kenya ts'ebetsong (ho bapisoa le WebRTC);
  • Ho bonolo haholo ebile ho sebetsa hantle ho hlophisa mefuta eohle ea likhaso ho bamameli ba bangata ka lebaka la hore likarolo li ka romelloa CDN hang.

Ho sa tsotellehe bonolo ba enjene, hase ntho e 'ngoe le e' ngoe e boreleli joalokaha e bonahala. Bothata bo boholo ke hore baetsi ba libapali tsa mokha oa boraro ba tlohile ho likhothaletso tsa Apple, mohlala mabapi le liforomo tsa audio tse tšehetsoeng. Ka ho khetheha, bahlahisi ba bangata ba ile ba qala ho eketsa bokhoni ba ho sebetsa le melapo e tloaelehileng ea molumo: video ea MPEG2, MPEG2 audio, joalo-joalo Ka lebaka leo, ba ile ba tlameha ho etsa liforomo tse fapaneng tsa lenane la lipina bakeng sa libapali tse fapaneng.

Empa bothata bo bong bo boholo ka enjene ea HLS ke ho lieha ho hoholo ha phetiso ea data.

Tšimoloho ea "brakes"

Lebaka le ka sehloohong la ho lieha ho hoholo ha HLS ke taba ea hore baetsi ba mananeo ba thehile enjene ho fumana litšoantšo tsa boleng bo holimo. Ka hona, liparamente tsa nako ea foreimi e sebelisitsoeng le boholo ba "bafa" ea ho bapala ha lia lokela ho phatlalatsoa ka video. Ka lebaka lena, ho na le tieho e phahameng haholo phetisong ea livideo, e ka bang metsotsoana e 5-7.

Ka lehlakoreng le leng, sena ha se ngata, ka mohlala, bakeng sa ba shebellang filimi ho tswa ho seva sa ho amohela video. Empa bakeng sa lits'ebetso tsa ho shebella livideo, ho lieha ho fetisa livideo ho ka ba bohlokoa haholo.

Haeba u shebile ofisi eo basebetsi ba shebang holimo ho tsoa ho bahlokomeli ba bona hang ka hora, joale ho lieha ha metsotsoana e 5 ha ho na taba ho hang. Empa batho ba ile ba qala ho tletleba ka hore, ka mohlala, ha ba phatlalatsa papali ea bolo ea maoto, ba se ba ngotse GOOOOL moqoqong, empa sena ha se e-s'o be video :). Re se re na le linyeoe tse 'maloa tsa basebelisi moo Ivideon e lokelang ho nkela Skype sebaka.

Na hoa khoneha ho otla latency ho HLS? Karabo ea potso ena e utloahala joaloka puo ea setsebi se nang le phihlelo se bolaeang likhoto puong ho litsebi tse sa tsoa qala ho laola likokoanyana: “Likhoto li ke ke tsa felisoa, empa palo ea tsona e ka fokotsoa hore e be bonyane bo loketseng.” Hoa tšoana le ho lieha ha HLS, ho ke ke ha khoneha ho e fokotsa ho ea ho zero, empa ho na le tharollo 'marakeng e ka fokotsang ho lieha haholo.

Maqeba a matle

Bothata bo bong ba enjene ke tšebeliso ea lifaele tse nyane bakeng sa phetiso ea data. Ho bonahala eka ke eng e phoso ka see?

Mang kapa mang ea lekileng ho kopitsa palo e kholo ea lifaele tse nyenyane ho tloha ho se seng ho ea ho se seng mohlomong o hlokometse hore lebelo la ho ngola la sete e joalo le tlaase haholo ho feta faele e le 'ngoe e kholo ea boholo bo lekanang. 'Me matla a ho fihlella hard drive a eketseha haholo, ao ka kakaretso a amang ts'ebetso ea komporo eohle hampe. Ka hona, ho fetisa data ea video ka likotoana tse nyane tsa metsotsoana ea 10 le hona ho kenya letsoho ho eketseheng ha enjene latency.

A re ke re akaretsa ka bokhutšoanyane melemo le mathata a theknoloji ea HLS.

Melemo ea HLS:

  1. Bokhoni ba ho sebetsa ka lisebelisoa life kapa life. U ka shebella livideo ho sesebelisoa leha e le sefe sa sejoale-joale, ekaba smartphone, tablet, laptop kapa komporo ea komporo. Ntho e ka sehloohong ke hore sebatli sa marang-rang se morao-rao ebile se lumellana le HTML5 le Media Source Extensions.
  2. E babatsehang boleng ba setšoantšo. Ts'ebetso e sebetsang ea phetisetso ea data e sebelisitsoeng e u lumella ho fetola boleng ba video e fetisitsoeng ho latela marang-rang a marang-rang a marang-rang, ha algorithm e ntse e leka ho boloka boleng bo holimo.
  3. Ha ho na tlhoko ea tlhophiso e rarahaneng ea lisebelisoa tsa mosebelisi.

Mathata:

  1. Tšehetso e fokolang ea ho sebetsa le enjene lisebelisoa tse ling.
  2. Ho lieha ho hoholo phetisong ea litšoantšo.
  3. Keketseho e kholo ea holimo le ho rarahana ha ntlafatso ka lebaka la ts'ebeliso ea lifaele tse nyane. Ka lebaka la sebopeho sa setshelo, ha ho mohla re tla khona ho fumana latency e tlase ho feta boholo ba karolo.

Litsietsi tsa HLS li ile tsa feta melemo ea eona ho rona mme tsa re qobella ho batla mekhoa e meng.

WebRTC ke eng

WebRTC le leihlo la video: kamoo re hlotseng latency ea video ho tsoa ho lik'hamera
(c)

Sethala sa WebRTC se entsoe ke Google ka 2011 ho fetisetsa litaba tsa video le molumo lipakeng tsa li-browser le lisebelisoa tsa mohala tse nang le latency e fokolang. Bakeng sa sena, ho sebelisoa protocol e tloaelehileng ea UDP le li-algorithms tse khethehileng tsa ho laola phallo. Kajeno ke morero oa mohloli o bulehileng, o bolokiloe ka mafolofolo ke Google 'me o ntse o ntlafatsoa.

WebRTC ke sete ea mahlale a phetiso ea lithaka le lithaka tsa video le molumo. Ke hore, ka mohlala, li-browser tse sebelisang WebRTC li ka fetisetsa data ho e mong ka ho toba, ntle le ho sebelisa lisebelisoa tse hōle bakeng sa ho boloka le ho sebetsana le data. Lintlha tsohle li boetse li sebetsoa ke libatli tsa basebelisi ba ho qetela le lisebelisoa tsa mehala.

Bonolo le bokgoni bo boholo ba theknoloji ena di ananetswe ke bahlahisi ba di-browser tsohle tse tsebahalang. Tshehetso ya WebRTC e fumaneha hajwale ho Mozilla Firefox, Opera, Google Chrome (le di-browser tsohle tse thehilweng ho Chromium), hammoho le ho di-app tsa mehala ya thekeng tse sebetsang. Android le iOS.

Bakeng sa melemo eohle ea eona e sa tsitsang, WebRTC e na le mathata a 'maloa a bohlokoa.

Mathata a ho khetha

Theknoloji ea WebRTC e rarahane haholo mabapi le litšebelisano tsa marang-rang ka lebaka la hore e mabapi le P2P. Ho thata ho lokisa liphoso, ho etsa liteko, 'me ho ka etsa lintho ka tsela e sa lebelloang. Ka nako e ts'oanang, re hloka ho hlola NAT le firewall, re hloka ho netefatsa ts'ebetso ho marang-rang moo UDP e koetsoeng.

Ho thata haholo ho sebelisa WebRTC ea Google. Ho bile ho na le k'hamphani eohle e fanang ka litšebeletso tsa kopano ea SDK. Hape, ts'ebetsong ea Google e ne e le thata haholo ho e kopanya le tsamaiso ea rona ntle le ho kenya video eohle bocha.

Leha ho le joalo, haesale re batla ho fa basebelisi monyetla oa ho sebetsa ka video e "phela" e felletseng le ho fokotsa sekhahla lipakeng tsa setšoantšo se skrineng le liketsahalo ka botsona. Ho feta moo, re ne re e-na le takatso ea ho sebelisa lik'hamera tsa PTZ, moo ho lieha ho leng bohlokoa, ho phutholoha haholoanyane.

Ha re nahana hore lits'ebetso tse ling tsa anti-lag li ntse li na le ts'ebetso e fokolang mme li sebetsa le ho feta, re nkile qeto ea ho sebelisa WebRTC.

Re entseng

WebRTC le leihlo la video: kamoo re hlotseng latency ea video ho tsoa ho lik'hamera

Ho kenya tšebetsong sethala sa WebRTC ka nepo ha se mosebetsi o bonolo. Phoso efe kapa efe kapa ho se nepahale ho ka lebisa ho liehang phetisong ea video eseng feela hore e fokotsehe ha e bapisoa le li-platform tse ling, empa le ho eketseha.

E le hore WebRTC e sebetse ka nepo, pele ho tsohle, hoa hlokahala ho etsa ntlafatso ea theknoloji ea stack bakeng sa ho sebetsa le video ea webo. Ke seo re se entseng.

Taba ea pele, re kentse ts'ebetsong seva sa protocol ea pontšo ea WebRTC holim'a Websocket, hape ra sebelisa seva sa lithaka sa WebRTC lerung le thehiloeng ho webrtc.org SDK. Mosebetsi oa eona ke ho aba melaetsa ea video ho lithaka tsa bareki ba WebRTC ka mokhoa oa H.264 + Opus/G.711 ntle le transcoding ea video.

Re khethile Websocket e le protocol ea lipontšo hobane e se e na le tšehetso ea boleng bo holimo ho libatli tsohle tse tsebahalang tsa webo. Ka lebaka la sena, o ka fokotsa haholo eseng feela ka holimo ho nts'etsopele, empa hape o qoba ho senya nako le lisebelisoa ho ts'oarana ka matsoho khafetsa TCP le TLS ho bapisoa le AJAX.

'Nete ke hore, ka ho feletseng, WebRTC ha e fane ka protocol e hlokahalang bakeng sa ho lokisa, ho boloka le ho felisa puisano ea video ea nako ea sebele pakeng tsa mohloli le lits'ebetso tsa bareki.

'Me e le hore re khone ho kenya ts'ebetsong theknoloji ea lipontšo ka boithaopo, re ne re hloka ho iketsetsa seva sa rona sa lipontšo ka tšehetso bakeng sa liprothokholo tse' maloa tsa marang-rang (Websocet, WebRTC). 'Me ka bokhoni ba ho laola linako le litemoso ka mokhoa o sireletsehileng ka nako ea nnete, taolo ea video le tse ling tse ngata.

Re hlōtse mefokolo ea P2P ka ho fokotsa latency eseng ka P2P, empa ka UDP le taolo ea phallo ho fokotsa latency. Sena se boetse se hahiloe ho WebRTC, kaha tšebeliso ea mantlha ke lipuisano tsa p2p ka sebatli.

Ho moreki oa selefouno, re kentse tšebetsong sebapali se sebelisang webrtc.org SDK, kaha ke eona feela e sebelisang taolo ea phallo ka nepo, e na le merero eohle e tsebahalang ea Forward Error Correction (FEC), mme e sebelisa ka nepo mokhoa oa ho romella lipakete bakeng sa libatli tsohle. Ho bohlokoa hape hore webrtc.org SDK e ntse e ntlafatsoa ka mafolofolo ke Google.

Sephetho sa ho kenya tšebetsong WebRTC ke sefe?


Ho sheba video e hlahang ho tsoa lik'hamera, re kentse sebapali se secha se ntlafalitsoeng se ipapisitseng le WebRTC akhaonteng ea hau. E fana ka lebelo la ho jarolla livideo ka potlako mme e felisa ka botlalo bothata ba ho bokella latency ha nako ea ho shebella e ntse e eketseha.

Kamora ho hlahisa tšehetso ea WebRTC ts'ebeletso ea leru ea Ivideon, re ka bua ka kholiseho e felletseng hore bareki ba rona joale ba ka shebella video e felletseng e felletseng. Hona joale tieho ea ho phatlalatsa tatellano ea livideo ha e fete motsotsoana o le mong! Ha ho bapisoa, enjene e fetileng ea HLS e fane ka video ka ho lieha ha metsotsoana e 5-7. Phapang ea lebelo la ponts'o ea video e bohlokoa haholo, 'me mosebelisi o tla e hlokomela hang kamora ho qala ho sebetsa le ts'ebeletso ea rona ea video.

Joalokaha re ne re lebeletse, ts'ebetsong ea sebapali se secha e ntlafalitse karabelo ea PTZ le puisano ea lentsoe le khamera.

WebRTC le leihlo la video: kamoo re hlotseng latency ea video ho tsoa ho lik'hamera

Ho na le ntlha e le 'ngoe feela e poteletseng eo re batlang ho lebisa tlhokomelo ho eona. Sebapali se secha sa WebRTC ha joale se sebetsa ka mokhoa oa teko. Ke ka lebaka leo re sa e lumelleng bakeng sa bareki bohle ba rona ka ho sa feleng. Empa u ka e sebelisa ka bouena ka ho lumella ntho e tsamaellanang ho li-setting tsa khamera (ho etsa sena, ea ho tlaleho ea botho).

Likarolo tsa ts'ebetsong ea WebRTC ts'ebeletso ea Ivideon

WebRTC le leihlo la video: kamoo re hlotseng latency ea video ho tsoa ho lik'hamera

WebRTC e ntse e le theknoloji ea liteko hajoale. Tšehetso ea eona ha e e-s'o kenngoe tšebetsong ka nepo ho libatli tsohle le lisebelisoa tsa basebelisi, hape eseng ka lik'hamera tsohle.

Ke ka lebaka lena re e-so etse hore sebapali sa WebRTC e be sa kamehla bakeng sa basebelisi bohle.

Hajoale, re khothaletsa ho sebelisa WebRTC ho libatli tsa Google Chrome feela. Liphetolelo tsa morao-rao tsa Firefox le Safari le tsona li tšehetsa theknoloji ena, empa, ka bomalimabe, e ntse e sa tsitsa.

Ha re so kenye ts'ehetso ea WebRTC bakeng sa libatli tsa lisebelisoa tsa mohala. Hajoale, haeba u kena ho tsoa sesebelisoa sa mohala ebe u kenya WebRTC, mokhoa ona o ke ke oa sebetsa. Leha ho le joalo, WebRTC ea fumaneha lits'ebetsong tsa rona tsa mehala bakeng sa Android и iOS.

'Me re phethela pale e mabapi le likarolo tsa ts'ebetsong ea WebRTC tšebeletsong ea rona, a re hlokomele lintlha tse ling tse peli tse poteletseng.

Taba ea pele, theknoloji e tsepamisitse maikutlo ho phatlalatseng video e phelang ka nako ea nnete. Ka hona, haeba mocha oa hau o se na li-bandwidth tse lekaneng ho fetisetsa video, u tla hlokomela marotholi a foreimi (ka HLS u tla hlokomela hore video e fela le ho eketseha ha latency, empa ho ke ke ha e-ba le marotholi a foreimi), empa video e ntse e tla phatlalatsoa ka 'nete. nako.

Taba ea bobeli, kaha theknoloji e etselitsoe ho sebetsa ka ho khetheha le video e phelang ka nako ea nnete, ha re e sebelise ho sebetsa le data ea video e bolokiloeng.

Liphetoho tse ling tšebeletsong

Ka nako ena, Flash ha e sa sebetsa mochining oa khetho ea enjene ea othomathike. U ntse u ka sebelisa sebapali se joalo, empa ho etsa sena u hloka ho se khetha ka letsoho akhaonteng kapa litlhophisong tsa khamera. Sena ha se sethabathaba ho feshene, ke feela hore ho latela lipalo-palo tsa ts'ebeletso ea rona, ha ho na basebelisi ba setseng ba sebetsa le Flash. Le ho leka ho fumana hore na sebatli sa mosebelisi se e tšehetsa, re lahleheloa ke metsotsoana e 2 ea nako ea bohlokoa.

Mona ke kakaretso e khuts'oane ea liphetoho tse u letetseng tsamaisong ea rona ea ho lebela video ea leru le ak'haonte ea hau. Lula le rona 'me u latele litaba!

Source: www.habr.com

Reka sebaka se tšepahalang sa libaka tse nang le ts'ireletso ea DDoS, li-server tsa VPS VDS 🔥 Reka sebaka se tšepahalang sa ho amohela webosaete ka tšireletso ea DDoS, li-server tsa VPS VDS | ProHoster