Ho tloha ho Skype ho ea ho WebRTC: kamoo re hlophisitseng puisano ea video ka marang-rang

Ho tloha ho Skype ho ea ho WebRTC: kamoo re hlophisitseng puisano ea video ka marang-rang

Puisano ea video ke mokhoa oa mantlha oa puisano lipakeng tsa mosuoe le moithuti sethaleng sa Vimbox. Re ile ra tlohela Skype khale, ra leka litharollo tse 'maloa tsa mokha oa boraro mme qetellong ra lula ho WebRTC - Janus-gateway motsoako. Ka nako e itseng re ne re thabetse ntho e 'ngoe le e' ngoe, empa ho ntse ho le joalo likarolo tse ling tse mpe li ile tsa tsoela pele ho hlaha. Ka lebaka leo, ho ile ha etsoa tataiso e fapaneng ea video.

Ke ile ka kopa Kirill Rogovoy, hlooho ea tataiso e ncha, ho bua ka phetoho ea puisano ea video Skyeng, mathata a sibollotsoeng, tharollo le lithupa tseo re li sebelisitseng qetellong. Re tšepa hore sengoloa sena se tla ba molemo bakeng sa lik'hamphani tse iketsetsang video ka botsona ka ts'ebeliso ea webo.

Pale ea histori

Lehlabuleng la 2017, hlooho ea nts'etsopele ea Skyeng, Sergey Safonov, o buile ho Backend Conf ka pale ea kamoo re "lahlileng Skype le ho kenya ts'ebetsong WebRTC." Ba thahasellang ba ka shebella khatiso ea puo ho kgokahanyo (~ 45 min), 'me mona ke tla hlalosa ka bokhutšoanyane bohlokoa ba eona.

Bakeng sa Sekolo sa Skyeng, puisano ea video esale e le mokhoa o ka sehloohong oa puisano ea matichere le baithuti. Qalong, Skype e ne e sebelisoa, empa ka kakaretso e ne e sa khotsofatse ka mabaka a 'maloa, haholo-holo ka lebaka la khaello ea li-log le ho se khonehe ho kopanngoa ka ho toba ts'ebetsong ea websaete. Ka hona, re ile ra etsa liteko tsa mefuta eohle.

Haele hantle, litlhoko tsa rona tsa puisano ka video e ne e le tse latelang:
- botsitso;
- theko e tlase ka thuto;
- lithuto tsa ho rekota;
— ho latedisa hore na ke mang ya buang bokae (ho bohlokwa ho rona hore baithuti ba bue ho feta mosuwe nakong ya dithuto);
- tekanyo e lekanang;
- bokhoni ba ho sebelisa UDP le TCP ka bobeli.

Ea pele ea ho leka e bile ho kenya Tokbox ka 2013. Ntho e 'ngoe le e' ngoe e ne e le ntle, empa e ile ea e-ba e theko e boima haholo - li-ruble tse 113 ka thuto - 'me ea ja phaello.

Joale ka 2015, Voximplant e kopantsoe. Mona e ne e le mosebetsi oo re o hlokang ho latela hore na ke mang ea neng a bua ka bokae, 'me ka nako e ts'oanang tharollo e ne e le theko e tlaase haholo: haeba ho ne ho ngoloa molumo feela, e ne e bitsa li-ruble tse 20 ka thuto. Leha ho le joalo, e ne e sebetsa feela ka UDP mme e sitoa ho fetohela ho TCP. Leha ho le joalo, hoo e ka bang 40% ea liithuti li ile tsa qetella li e sebelisa.

Selemo hamorao, re ile ra qala ho ba le bareki ba lik'hamphani ba nang le litlhoko tsa bona tse khethehileng. Mohlala, ntho e ngoe le e ngoe e lokela ho sebetsa ka sebatli; khamphani e bula feela http le https; ke hore ha ho Skype kapa UDP. Bareki ba likhoebo = chelete, kahoo ba khutlela Tokbox, empa bothata ba theko ha boa ka ba fela.

Tharollo - WebRTC le Janus

E entse qeto ea ho sebelisa sethala sa marang-rang sa puisano ea video ea lithaka le lithaka WebRTC. E na le boikarabello ba ho theha khokahanyo, ho ngolisa le ho hlophisa melapo, ho hokahanya lipina le ho laola boleng ka ho sebetsana le mathata a marang-rang. Bakeng sa rona, re tlameha ho netefatsa ho bala melapo ho tsoa ho kh'amera le maekrofono, ho taka video, ho laola khokahano, ho theha khokahano ea WebRTC le ho fetisetsa melapo ho eona, hammoho le ho fetisa melaetsa ea lipontšo lipakeng tsa bareki ho theha khokahano (WebRTC ka boeona e hlalosa feela sebopeho sa data, empa eseng mokhoa oa phetiso ea ona). Haeba bareki ba le ka morao ho NAT, WebRTC e hokela li-server tsa STUN; haeba sena se sa thuse, TURN liseva.

Khokahano ea kamehla ea p2p ha ea lekana bakeng sa rona, hobane re batla ho ngola lithuto bakeng sa tlhahlobo e eketsehileng haeba ho na le litletlebo. Ka hona re romela melapo ea WebRTC ka relay Janus Gateway ke Meetecho. Ka lebaka leo, bareki ha ba tsebe liaterese tsa ba bang, ba bona feela aterese ea seva sa Janus; e boetse e etsa mesebetsi ea seva sa matšoao. Janus o na le likarolo tse ngata tseo re li hlokang: o fetohela ho TCP ka bohona haeba moreki a koetse UDP; e ka rekota melapo ea UDP le TCP ka bobeli; scalable; Ho na le plugin e hahelletsoeng kahare bakeng sa liteko tsa echo. Haeba ho hlokahala, li-server tsa STUN le TURN tse tsoang Twilio li hokela ka bo eona.

Lehlabuleng la 2017, re ne re e-na le li-server tse peli tsa Janus tse sebetsang, hammoho le seva se eketsehileng bakeng sa ho sebetsana le lifaele tse rekotiloeng tsa audio le video, e le hore li se ke tsa nka li-processor tsa tse ka sehloohong. Ha ho hokeloa, li-server tsa Janus li khethiloe ka mokhoa o sa tloaelehang (nomoro ea khokahanyo). Ka nako eo, sena se ne se lekane, ho ea ka maikutlo a rona, se fane ka hoo e ka bang karolo e ka bang 'nè ea tšireletso, peresente ea ts'ebetsong e ne e ka ba 80. Ka nako e ts'oanang, theko e fokotsehile ho ~ 2 li-ruble ka thuto, hammoho le tsoelo-pele le tšehetso.

Ho tloha ho Skype ho ea ho WebRTC: kamoo re hlophisitseng puisano ea video ka marang-rang

Ho khutlela sehloohong sa puisano ea video

Re lula re beha leihlo maikutlo a baithuti le matichere molemong oa ho tseba le ho lokisa mathata ka nako. Lehlabuleng la 2018, boleng ba mohala bo ne bo le boemong ba pele har'a litletlebo. Ka lehlakoreng le leng, sena se ne se bolela hore re ne re atlehile ho hlōla mefokolo e meng. Ka lehlakoreng le leng, ho ne ho hlokahala ho etsa ntho e potlakileng: haeba thuto e senyeha, re ipeha kotsing ea ho lahleheloa ke boleng ba eona, ka linako tse ling hammoho le litšenyehelo tsa ho reka sephutheloana se latelang, 'me haeba thuto ea selelekela e sitisoa, re ipeha kotsing ea ho lahleheloa ke mofani ea ka bang teng. ka botlalo.

Ka nako eo, puisano ea rona ea video e ne e ntse e le maemong a MVP. Ka mantsoe a bonolo feela, ba ile ba e qala, ea sebetsa, ba e lekanya hang, ba utloisisa mokhoa oa ho e etsa - hantle, e kholo. Haeba e sebetsa, u se ke ua e lokisa. Ha ho motho ea ileng a bua ka boomo tabeng ea boleng ba puisano. Ka Phato, ho ile ha hlaka hore sena se ke ke sa tsoela pele, 'me re ile ra qala tataiso e fapaneng ho fumana hore na phoso ke efe ka WebRTC le Janus.

Ka tlhahiso, tataiso ena e ile ea amoheloa: tharollo ea MVP, ha ho metrics, ha ho lipakane, ha ho na mekhoa ea ntlafatso, ha 7% ea matichere a tletleba ka boleng ba puisano (ho ne ho se na data ho liithuti).

Ho tloha ho Skype ho ea ho WebRTC: kamoo re hlophisitseng puisano ea video ka marang-rang

Tsela e ncha e ntse e tsoela pele

Taelo e shebahala tjena:

  • Hlooho ea lefapha, eo hape e leng moqapi oa sehlooho.
  • QA e thusa ho fetola liteko, ho batla litsela tse ncha tsa ho theha maemo a sa tsitsang a puisano, le ho tlaleha mathata a tsoang pele.
  • Mohlahlobi o lula a batla likhokahano tse fapaneng ho data ea tekheniki, a ntlafatsa tlhahlobo ea maikutlo a basebelisi, 'me a lekola liphetho tsa liteko.
  • Motsamaisi oa sehlahisoa o thusa ka tataiso e akaretsang le kabo ea lisebelisoa bakeng sa liteko.
  • Hangata moqapi oa bobeli o thusa ka mananeo le mesebetsi e amanang le eona.

Ho qala, re thehile metric e batlang e ts'epahala e latetseng liphetoho tsa litekanyetso tsa boleng ba puisano (karolelano ea matsatsi, libeke, likhoeli). Ka nako eo, tsena e ne e le limaraka tsa matichere; hamorao limaraka tsa baithuti li ile tsa ekeletsoa ho tsona. Eaba ba qala ho haha ​​​​likhopolo mabapi le se neng se sebetsa hampe, ho se lokisa, le ho sheba liphetoho tsa matla. Re ile ra ea tholoana e tlaase e leketlileng: ka mohlala, re nkile vp8 codec ka vp9, ts'ebetso e ntlafetse. Re lekile ho bapala le litlhophiso tsa Janus le ho etsa liteko tse ling - hangata ha lia ka tsa lebisa ho letho.

Boemong ba bobeli, ho ile ha hlaha khopolo-taba: WebRTC ke tharollo ea lithaka, 'me re sebelisa seva bohareng. Mohlomong bothata bo teng mona? Re ile ra qala ho cheka 'me ra fumana ntlafatso ea bohlokoa ka ho fetisisa ho fihlela joale.

Ka nako eo, seva se tsoang letamong se ile sa khethoa ho sebelisa algorithm e hlokang kelello: e 'ngoe le e' ngoe e ne e e-na le "boima" ba eona, ho itšetlehile ka mocha le matla, 'me re ile ra leka ho romela mosebedisi ho ea nang le "boima" bo boholo ka ho fetisisa, ntle le ho ela hloko moo mosebelisi a neng a le teng ho ea ka libaka . Ka lebaka leo, tichere e tsoang St. Petersburg e ne e khona ho buisana le seithuti se tsoang Siberia ho pholletsa le Moscow, eseng ka seva sa rōna sa Janus St. Petersburg.

Algorithm e entsoe bocha: joale, ha mosebelisi a bula sethala sa rona, re bokella li-pings ho tsoa ho eena ho ea ho li-server tsohle tse sebelisang Ajax. Ha re theha khokahanyo, re khetha li-pings (mosuoe-server le seithuti-server) ka chelete e nyenyane ka ho fetisisa. Ping e fokolang e bolela sebaka se fokolang sa marang-rang ho seva; sebaka se khuts'oane se bolela monyetla o tlase oa ho lahleheloa ke lipakete; Ho lahleheloa ke liphutheloana ke ntho e mpe ka ho fetisisa puisanong ea video. Kabelo ea ho se tsotelle e ile ea theoha ka halofo ka likhoeli tse tharo (ho bua ka toka, liteko tse ling li ile tsa etsoa ka nako ena, empa ena e batla e e-na le tšusumetso e kholo ka ho fetisisa).

Ho tloha ho Skype ho ea ho WebRTC: kamoo re hlophisitseng puisano ea video ka marang-rang

Ho tloha ho Skype ho ea ho WebRTC: kamoo re hlophisitseng puisano ea video ka marang-rang

Haufinyane tjena re fumane ntho e 'ngoe e sa bonahaleng, empa ho bonahala e le ea bohlokoa: ho e-na le seva se le seng se matla sa Janus seteisheneng se teteaneng, ho molemo ho ba le tse peli tse bonolo tse nang le bandwidth e fokolang. Sena se ile sa hlaka ka mor'a hore re reke mechine e matla ka tšepo ea ho petetsa likamore tse ngata (linako tsa puisano) ho tsona ka nako e le 'ngoe. Li-server li na le moeli oa li-bandwidth, tseo re ka li fetolelang ka nepo palo ea likamore - rea tseba hore na ke tse kae tse ka buloang, mohlala, ho 300 Mbit / s. Hang ha ho na le likamore tse ngata tse bulehileng ho seva, re khaotsa ho e khetha bakeng sa mesebetsi e mecha ho fihlela mojaro o fokotseha. Khopolo e ne e le hore, ha re se re rekile mochine o matla, re ne re tla kenya mocha ho eona ho ea holimo, e le hore qetellong e fokotsehe ke processor le memori, eseng ka bandwidth. Empa ho ile ha fumaneha hore ka mor'a palo e itseng ea likamore tse bulehileng (420), ho sa tsotellehe hore mojaro oa processor, memori le disk li ntse li le hōle haholo le meeli, ho se tsotelle ho qala ho fihla tšehetso ea tekheniki. Kamoo ho bonahalang kateng, ho na le ntho e ntseng e mpefala ka hare ho Janus, mohlomong ho na le lithibelo tse itseng moo hape. Re ile ra qala ho etsa liteko, ra theola moeli oa bandwidth ho tloha ho 300 ho isa ho 200 Mbit / s, 'me mathata a ile a fela. Hona joale re rekile lisebelisoa tse tharo tse ncha ka nako e le 'ngoe ka meeli le litšobotsi tse tlaase, re nahana hore sena se tla lebisa ntlafatsong e tsitsitseng ea boleng ba puisano. Ehlile, ha rea ​​ka ra leka ho fumana hore na ho etsahalang moo; liikokotlelo tsa rona ke tsohle. Tšireletsong ea rona, a re re ka nako eo ho ne ho hlokahala ho rarolla bothata bo hatellang kapele kamoo ho ka khonehang, le ho se e etse ka bokhabane; ntle le moo, Janus bakeng sa rona ke lebokose le letšo le ngotsoeng ka C, ho bitsa chelete e ngata ho lekanya.

Ho tloha ho Skype ho ea ho WebRTC: kamoo re hlophisitseng puisano ea video ka marang-rang

Hantle, ka ts'ebetso re:

  • e ntlafalitse litšepe tsohle tse ka nchafatsoang, ho seva le ho moreki (tsena e ne e boetse e le liteko, re hlokometse liphetho);
  • lokisa liphoso tsohle tse khethiloeng tse amanang le linyeoe tse itseng, mohlala, ha khokahano e theoha 'me e sa tsosolosoe ka bo eona;
  • Re ile ra tšoara liboka tse ngata le lik'hamphani tse sebetsang tšimong ea puisano ea video le ho tloaelana le mathata a rona: lipapali tsa ho phallela, ho hlophisa li-webinars; re ile ra leka ntho e ’ngoe le e ’ngoe e neng e bonahala e le molemo ho rōna;
  • E ile ea etsa tlhahlobo ea botekgeniki ea boleng ba hardware le puisano ea matichere, bao litletlebo tse ngata li tsoang ho bona.

Liteko le liphetoho tse ileng tsa latela li entse hore ho khonehe ho fokotsa ho se khotsofale ha puisano har'a matichere ho tloha ho 7,1% ka Pherekhong 2018 ho isa ho 2,5% ka Pherekhong 2019.

Ke eng e tlang

Ho tsitsisa sethala sa rona sa Vimbox ke e 'ngoe ea merero ea mantlha ea k'hamphani ea 2019. Re na le tšepo e kholo ea hore re tla khona ho boloka lebelo mme re se ke ra hlola re bona puisano ea video litletlebong tse phahameng. Rea utloisisa hore karolo e kholo ea litletlebo tsena e amana le ho lieha ha lik'homphieutha tsa basebelisi le Inthanete, empa re tlameha ho tseba karolo ena le ho rarolla tse ling kaofela. Lintho tse ling kaofela ke bothata ba tekheniki, ho bonahala re lokela ho khona ho sebetsana le bona.

Bothata bo boholo ke hore ha re tsebe hore na ho ka khoneha ho ntlafatsa boleng ho isa boemong bofe. Ho fumana siling ena ke mosebetsi o ka sehloohong. Ka hona, liteko tse peli li ne li reriloe:

  1. bapisa video ka Janus le p2p e tloaelehileng maemong a ntoa. Teko ena e se e entsoe, ha ho phapang e kholo ea lipalo e fumanoeng pakeng tsa tharollo ea rona le p2p;
  2. Ha re faneng ka lits'ebeletso (tse theko e boima) ho tsoa ho lik'hamphani tse etsang chelete feela ka litharollo tsa puisano tsa video, 'me re bapise boholo ba ho se tsotelle ho tsoa ho bona le bo teng.

Liteko tsena tse peli li tla re lumella ho khetholla sepheo se ka finyelloang le ho tsepamisa maikutlo ho sona.

Ho feta moo, ho na le mesebetsi e mengata e ka rarolloang ka tloaelo:

  • Re theha metric ea tekheniki ea boleng ba puisano ho fapana le maikutlo a ikhethileng;
  • Re etsa lintlha tse qaqileng haholoanyane tsa liboka e le hore re sekaseke ka nepo liphoso tse etsahalang, re utloisise hore na li etsahetse neng le hore na hantle-ntle li etsahetse hokae, le hore na ke liketsahalo life tse bonahalang li sa amane tse etsahetseng ka nako eo;
  • Re lokisa tlhahlobo ea boleng ba khokahanyo ea othomathike pele ho thuto, hape re fa moreki monyetla oa ho lekola khokahanyo ka letsoho e le ho fokotsa bongata ba bofokoli bo bakoang ke hardware ea hae le mocha;
  • re tla nts'etsapele le ho etsa liteko tse ngata tsa puisano ea video maemong a mabe, ka tahlehelo e fapaneng ea lipakete, joalo-joalo;
  • re fetola boitšoaro ba li-server haeba ho na le mathata ho eketsa mamello ea liphoso;
  • Re tla lemosa mosebedisi haeba ho na le ho hong ho phoso ka khokahanyo ea hae ho hang, joalo ka Skype, e le hore a utloisise hore bothata bo ka lehlakoreng la hae.

Ho tloha ka Mmesa, tataiso ea puisano ea video e fetohile projeke e felletseng e arohaneng ka har'a Skyeng, e sebetsanang le sehlahisoa sa eona, eseng karolo ea Vimbox feela. Sena se bolela hore re qala ho batla batho ho sebetsa le video ka mokhoa o felletseng oa nako. Ho lokile, joalo ka kamehla Re batla batho ba bangata ba lokileng.

Mme, ehlile, re ntse re tsoela pele ho buisana ka mafolofolo le batho le lik'hamphani tse sebetsang ka likhokahano tsa video. Haeba u batla ho fapanyetsana phihlelo le rona, re tla thaba! Fana ka maikutlo, ikopanye - re tla araba bohle.

Source: www.habr.com