Ukusuka ku-Skype kuye ku-WebRTC: ukuthi sikuhlele kanjani ukuxhumana ngevidiyo ngewebhu

Ukusuka ku-Skype kuye ku-WebRTC: ukuthi sikuhlele kanjani ukuxhumana ngevidiyo ngewebhu

Ukuxhumana ngevidiyo kuyindlela eyinhloko yokuxhumana phakathi kukathisha nomfundi endaweni yesikhulumi seVimbox. Sayeka i-Skype kudala, sazama izixazululo ezimbalwa zezinkampani zangaphandle futhi ekugcineni sazinza ku-WebRTC - inhlanganisela ye-Janus-gateway. Isikhathi esithile sasijabule ngakho konke, kodwa nokho ezinye izici ezingezinhle zaziqhubeka nokuvela. Ngenxa yalokho, kwakhiwe isiqondisindlela sevidiyo esihlukile.

Ngicele uKirill Rogovoy, inhloko yendlela entsha, ukuthi akhulume ngokuvela kokuxhumana ngevidiyo e-Skyeng, izinkinga ezitholakele, izixazululo nezinduku esizisebenzise ekugcineni. Siyethemba ukuthi lesi sihloko sizoba usizo ezinkampanini ezidala ividiyo ngokwazo ngohlelo lokusebenza lwewebhu.

Umlando omncane

Ehlobo lika-2017, inhloko yezokuthuthukiswa kwe-Skyeng, u-Sergey Safonov, ukhulume ku-Backend Conf ngendaba yokuthi "siyilahle kanjani i-Skype futhi sasebenzisa i-WebRTC." Abanentshisekelo bangabuka ukurekhodwa kwenkulumo ku isixhumanisi (~45 min), futhi lapha ngizoveza kafushane ingqikithi yayo.

Esikoleni saseSkyeng, ukuxhumana ngevidiyo bekulokhu kuyindlela ehamba phambili yokuxhumana kothisha nabafundi. Ekuqaleni, i-Skype yayisetshenziswa, kodwa yayinganelisi ngenxa yezizathu eziningi, ngokuyinhloko ngenxa yokuntuleka kwamalogi kanye nokungenakwenzeka kokuhlanganiswa ngqo kuhlelo lokusebenza lwewebhu. Ngakho-ke, senze zonke izinhlobo zokuhlola.

Empeleni, izimfuneko zethu zokuxhumana ngevidiyo zazicishe zibe yilezi ezilandelayo:
- ukuzinza;
- amanani aphansi ngesifundo ngasinye;
- izifundo zokuqopha;
β€” ukulandelela ukuthi ubani okhuluma kangakanani (kubalulekile kithi ukuthi abafundi bakhulume kakhulu kunothisha ngesikhathi sezifundo);
- ukukala okuqondile;
- Ikhono lokusebenzisa kokubili i-UDP ne-TCP.

Okokuqala ukuzama kwakuwukusebenzisa i-Tokbox ngo-2013. Konke kwakukuhle, kodwa kwabonakala kubiza kakhulu - ama-ruble angu-113 ngesifundo ngasinye - futhi wadla inzuzo.

Kwathi ngo-2015, i-Voximplant yahlanganiswa. Nansi umsebenzi esiwudingayo ukuze silandelele ukuthi ubani okhulume kangakanani, futhi ngesikhathi esifanayo isisombululo sasishibhile kakhulu: uma umsindo kuphela urekhodiwe, kubiza ama-ruble angu-20 ngesifundo ngasinye. Nokho, isebenze kuphela nge-UDP futhi ayikwazanga ukushintshela ku-TCP. Kodwa-ke, cishe u-40% wabafundi wagcina ukuwusebenzisa.

Ngemva konyaka, saqala ukuba namakhasimende ezinkampani anezidingo zawo eziqondile. Isibonelo, yonke into kufanele isebenze ngesiphequluli, inkampani ivula kuphela i-http kanye ne-https; okusho ukuthi akukho Skype noma i-UDP. Amakhasimende ezinkampani = imali, ngakho abuyela ku-Tokbox, kodwa inkinga yentengo ayizange iphele.

Isixazululo - WebRTC noJanus

Inqume ukusebenzisa inkundla yesiphequluli yokuxhumana kwevidiyo kontanga kuya kontanga I-WebRTC. Inesibopho sokusungula uxhumano, ukubhala ngekhodi nokukhipha amakhodi, ukuvumelanisa amathrekhi nokulawula ikhwalithi ngokuphatha izinkinga zenethiwekhi. Ngokwengxenye yethu, kufanele siqinisekise ukufunda ukusakazwa kwekhamera kanye nemakrofoni, ukudweba ividiyo, ukuphatha uxhumano, ukusungula uxhumano lwe-WebRTC nokudlulisa imifudlana kuyo, kanye nokudlulisa imilayezo yokusayina phakathi kwamaklayenti ukuze kutholakale uxhumano (i-WebRTC ngokwayo ichaza kuphela Ifomethi yedatha, kodwa hhayi indlela yokudlulisa). Uma amaklayenti engemuva kwe-NAT, i-WebRTC ixhuma iziphakeli ze-STUN; uma lokhu kungasizi, JINZA amaseva.

Ukuxhumeka okuvamile kwe-p2p akwanele kithi, ngoba sifuna ukurekhoda izifundo ukuze sihlaziye kabanzi uma kunezikhalazo. Ngakho-ke sithumela ukusakazwa kwe-WebRTC nge-relay UJanus Gateway nguMeetecho. Ngenxa yalokho, amaklayenti awawazi amakheli awodwa, ebona kuphela ikheli leseva likaJanus; futhi yenza imisebenzi yeseva yesignali. U-Janus unezici eziningi esizidingayo: ushintshela ngokuzenzakalela ku-TCP uma iklayenti ine-UDP ivinjiwe; ingarekhoda kokubili ukusakazwa kwe-UDP ne-TCP; scalable; Kukhona ne-plugin eyakhelwe ngaphakathi yokuhlolwa kwe-echo. Uma kudingekile, amaseva e-STUN kanye ne-TURN asuka ku-Twilio axhumeke ngokuzenzakalelayo.

Ehlobo lika-2017, sibe namaseva amabili e-Janus asebenzayo, kanye neseva eyengeziwe yokucubungula amafayela aqoshiwe aqoshiwe alalelwayo namavidiyo, ukuze angathathi amaphrosesa ayinhloko. Lapho uxhuma, amaseva e-Janus akhethwe ngendlela eyinqaba (inombolo yokuxhuma). Ngaleso sikhathi, lokhu kwakwanele, ngokusho kwemizwa yethu, kwanikeza cishe umkhawulo wokuphepha ophindwe kane, iphesenti yokuqaliswa yayingaba ngu-80. Ngesikhathi esifanayo, intengo yancishiswa yaba ama-ruble angu-2 ngesifundo ngasinye, kanye nokuthuthukiswa nokusekelwa.

Ukusuka ku-Skype kuye ku-WebRTC: ukuthi sikuhlele kanjani ukuxhumana ngevidiyo ngewebhu

Ukubuyela esihlokweni sokuxhumana ngevidiyo

Sihlala siqapha impendulo evela kubafundi nothisha ukuze sihlonze futhi silungise izinkinga ngesikhathi. Ngehlobo lika-2018, ikhwalithi yekholi yayisendaweni yokuqala phakathi kwezikhalazo. Ngakolunye uhlangothi, lokhu kwakusho ukuthi sasikunqobe ngokuphumelelayo okunye ukushiyeka. Ngakolunye uhlangothi, kwakudingeka ukwenza okuthile ngokuphuthumayo: uma isifundo siphazamiseka, sibeka engozini yokulahlekelwa inani laso, ngezinye izikhathi kanye nezindleko zokuthenga iphakheji elilandelayo, futhi uma isifundo sesethulo siphazamiseka, sibeka engozini yokulahlekelwa iklayenti okungenzeka. ngokuphelele.

Ngaleso sikhathi, ukuxhumana kwethu ngevidiyo kwakusekumodi ye-MVP. Kalula nje, bayethula, basebenza, balinganisa kanye, baqonda ukuthi kwenziwa kanjani - kuhle, kuhle. Uma isebenza, ungayilungisi. Akekho okhulume ngamabomu indaba yekhwalithi yokuxhumana. Ngo-Agasti, kwaba sobala ukuthi lokhu kwakungeke kuqhubeke, futhi sethula indlela ehlukile yokuthola ukuthi yini engalungile ngeWebRTC noJanus.

Kokufakwayo, lesi siqondiso sitholiwe: isixazululo se-MVP, awekho amamethrikhi, awekho amagoli, azikho izinqubo zokuthuthukiswa, kuyilapho u-7% wothisha ekhononda ngekhwalithi yokuxhumana (yayingekho idatha kubafundi futhi).

Ukusuka ku-Skype kuye ku-WebRTC: ukuthi sikuhlele kanjani ukuxhumana ngevidiyo ngewebhu

Indlela entsha iyaqhubeka

Umyalo ubukeka kanjena:

  • Inhloko yomnyango, ephinde ibe ngumthuthukisi omkhulu.
  • I-QA isiza ukuhlola izinguquko, ibheka izindlela ezintsha zokwenza izimo zokuxhumana ezingazinzile, futhi ibike izinkinga kusukela kulayini ophambili.
  • Umhlaziyi uhlala ebheka ukuhlobana okuhlukahlukene kudatha yobuchwepheshe, athuthukise ukuhlaziywa kwempendulo yomsebenzisi, futhi ahlole imiphumela yokuhlolwa.
  • Umphathi womkhiqizo usiza ngesiqondiso jikelele kanye nokwabiwa kwezinsiza zokuhlola.
  • Unjiniyela wesibili ngokuvamile usiza ngokuhlela nemisebenzi ehlobene.

Okokuqala, simise imethrikhi ethembeke ngokuqhathaniswa elandelela izinguquko ekuhloleni ikhwalithi yokuxhumana (isilinganiso phakathi kwezinsuku, amaviki, izinyanga). Ngaleso sikhathi, lawa kwakungamabanga avela kothisha; kamuva amamaki abafundi ayenezelwa kubo. Base beqala ukwakha imibono yokuthi yini engasebenzi kahle, bayilungise, futhi babheke izinguquko ku-dynamics. Saya esithelweni esilenga kancane: isibonelo, sishintshe i-codec ye-vp8 nge-vp9, ukusebenza kwaba ngcono. Sizamile ukudlala ngezilungiselelo ze-Janus futhi senze ezinye izivivinyo - ezimweni eziningi aziholelanga kunoma yini.

Esigabeni sesibili, kwavela i-hypothesis: I-WebRTC iyisisombululo sontanga kuya kontanga, futhi sisebenzisa iseva phakathi. Mhlawumbe inkinga ilele lapha? Siqale ukumba futhi sathola ukuthuthuka okubaluleke kakhulu kuze kube manje.

Ngaleso sikhathi, iseva evela echibini yakhethwa kusetshenziswa i-algorithm ewubuphukuphuku: ngayinye β€œyayinesisindo” sayo, kuye ngesiteshi namandla, futhi sazama ukuthumela umsebenzisi kulowo β€œenesisindo” esikhulu kunazo zonke, ngaphandle ukunaka lapho umsebenzisi ebekwe khona ngokwendawo . Ngenxa yalokho, uthisha waseSt. Petersburg wayekwazi ukuxhumana nomfundi ovela eSiberia enqamula eMoscow, hhayi ngeseva yethu kaJanus eSt.

I-algorithm yenziwe kabusha: manje, lapho umsebenzisi evula inkundla yethu, siqoqa ama-pings kuye kuwo wonke amaseva asebenzisa i-Ajax. Lapho sisungula uxhumano, sikhetha ipheya ye-pings (iseva kathisha kanye neseva yomfundi) ngenani elincane kakhulu. I-ping encane isho ibanga elincane lenethiwekhi kuseva; ibanga elifushane lisho amathuba aphansi okulahlekelwa amaphakethe; Ukulahleka kwephakethe kuyisici esikhulu esibi ekuxhumaneni kwevidiyo. Isabelo sokunganaki sehle ngesigamu ezinyangeni ezintathu (ukuba qotho, ezinye izivivinyo zenziwa ngalesi sikhathi, kodwa lokhu cishe kwaba nomthelela omkhulu kakhulu).

Ukusuka ku-Skype kuye ku-WebRTC: ukuthi sikuhlele kanjani ukuxhumana ngevidiyo ngewebhu

Ukusuka ku-Skype kuye ku-WebRTC: ukuthi sikuhlele kanjani ukuxhumana ngevidiyo ngewebhu

Sisanda kuthola enye into engabonakali, kodwa ebonakala ibalulekile: esikhundleni seseva ye-Janus eyodwa enamandla esiteshini esiwugqinsi, kungcono ukuba nezimbili ezilula ezinomkhawulokudonsa omncane. Lokhu kwacaca ngemva kokuba sithenge imishini enamandla ngethemba lokuthi sizompintsha amagumbi amaningi (izikhathi zokuxhumana) kuwo ngesikhathi esisodwa. Amaseva anomkhawulo womkhawulokudonsa, esingawuhumusha ngokunembile enanini lamakamelo - siyazi ukuthi zingaki ezingavulwa, isibonelo, ku-300 Mbit/s. Ngokushesha nje lapho kunamagumbi amaningi avuliwe kuseva, siyayeka ukuyikhethela imisebenzi emisha kuze kube yilapho umthwalo wehla. Umqondo wawuwukuthi, ngemva kokuthenga umshini onamandla, sizolayisha isiteshi kuso kuze kube seqophelweni eliphezulu, ukuze ekugcineni sikhawulelwe yiprosesa nenkumbulo, hhayi ngomkhawulokudonsa. Kodwa kwavela ukuthi ngemva kwenani elithile lamakamelo avulekile (420), naphezu kokuthi umthwalo kuphrosesa, inkumbulo kanye nediski kusekude kakhulu nemingcele, ukungabi nalutho kuqala ukufika ekusekelweni kwezobuchwepheshe. Ngokusobala, kukhona okuba kubi kakhulu ngaphakathi kukaJanus, mhlawumbe kunemikhawulo ethile lapho futhi. Saqala ukuhlola, sehlisa umkhawulo womkhawulokudonsa ukusuka ku-300 kuya ku-200 Mbit/s, futhi izinkinga zahamba. Manje sithenge amaseva amasha amathathu ngesikhathi esisodwa anemikhawulo ephansi nezici, sicabanga ukuthi lokhu kuzoholela ekuthuthukisweni okuzinzile kwekhwalithi yokuxhumana. Yebo, asizange sizame ukuthola ukuthi kwenzekani lapho; izinduku zethu ziyizinto zonke. Ekuzivikeleni kwethu, ake sithi ngaleso sikhathi kwakudingeka ukuxazulula inkinga yokucindezela ngokushesha ngangokunokwenzeka, futhi singakwenzi kahle; ngaphandle kwalokho, uJanus wethu uyibhokisi elimnyama elibhalwe ngo-C, kubiza kakhulu ukulicubungula.

Ukusuka ku-Skype kuye ku-WebRTC: ukuthi sikuhlele kanjani ukuxhumana ngevidiyo ngewebhu

Nokho, enqubeni thina:

  • ibuyekeze konke ukuncika okungabuyekezwa, kokubili kuseva nakuklayenti (lokhu bekubuye kube ukuhlolwa, siqaphe imiphumela);
  • silungise zonke iziphazamisi ezikhonjiwe ezihlobene nezimo ezithile, isibonelo, lapho uxhumano lwehla futhi lungabuyiselwanga ngokuzenzakalelayo;
  • Sibambe imihlangano eminingi nezinkampani ezisebenza emkhakheni wezokuxhumana ngevidiyo futhi ezijwayelene nezinkinga zethu: imidlalo yokusakaza, ukuhlela ama-webinars; sazama konke okwakubonakala kuwusizo kithi;
  • Kwenziwa ukubuyekezwa kwezobuchwepheshe kwe-hardware nekhwalithi yokuxhumana yothisha, okuvela kubo izikhalazo eziningi.

Izivivinyo nezinguquko ezalandela zenze kwaba nokwenzeka ukunciphisa ukunganeliseki ngokuxhumana phakathi kothisha kusuka ku-7,1% ngoJanuwari 2018 kuya ku-2,5% ngoJanuwari 2019.

Yini elandelayo

Ukuzinzisa inkundla yethu yeVimbox kungenye yamaphrojekthi amakhulu enkampani ka-2019. Sinethemba elikhulu lokuthi sizokwazi ukugcina umfutho futhi singabe sisabona ukuxhumana ngevidiyo ezikhalweni eziphezulu. Siyaqonda ukuthi ingxenye ebalulekile yalezi zikhalazo ihlobene nokubambezeleka kwamakhompyutha abasebenzisi ne-inthanethi, kodwa kufanele sinqume le ngxenye futhi sixazulule konke okunye. Konke okunye kuyinkinga yezobuchwepheshe, kubonakala sengathi kufanele sikwazi ukubhekana nayo.

Ubunzima obukhulu ukuthi asazi ukuthi kungakanani izinga okungenzeka ngalo ukwenza ngcono izinga. Ukuthola lolu phahla kuwumsebenzi oyinhloko. Ngakho-ke, ukuhlolwa okubili kwahlelwa:

  1. qhathanisa ividiyo nge-Janus ne-p2p evamile ezimeni zokulwa. Lokhu kuhlolwa sekuvele kwenziwa, awukho umehluko obalulekile ngokwezibalo otholakele phakathi kwesixazululo sethu ne-p2p;
  2. Masinikeze izinsizakalo (ezimba eqolo) ezivela ezinkampanini ezenza imali ngokukhethekile ezixazululweni zokuxhumana ngevidiyo, futhi siqhathanise inani lokungabi nalutho kuzo nalesi esikhona.

Lezi zivivinyo ezimbili zizosivumela ukuthi sibone umgomo ongafinyeleleka futhi sigxile kuwo.

Ngaphezu kwalokho, kunenombolo yemisebenzi engaxazululwa ngokujwayelekile:

  • Sakha imethrikhi yobuchwepheshe yekhwalithi yokuxhumana esikhundleni sezibuyekezo ezizimele;
  • Senza amalogi esikhathi anemininingwane eminingi ukuze sihlaziye ngokunembe kakhudlwana ukwehluleka okwenzekayo, siqonde ukuthi zenzeke nini futhi kuphi ngempela, nokuthi yiziphi izehlakalo ezibonakala zingahlobene ezenzeke ngaleso sikhathi;
  • Silungiselela ukuhlolwa kwekhwalithi yokuxhumeka okuzenzakalelayo ngaphambi kwesifundo, futhi sinikeze iklayenti ithuba lokuzivivinya mathupha uxhumano ukuze sinciphise inani lokungabi nalutho okubangelwa hardware kanye nesiteshi;
  • sizothuthukisa futhi senze izivivinyo ezengeziwe zomthwalo wokuxhumana kwevidiyo ezimweni ezimbi, ngokulahleka kwephakethe okuguquguqukayo, njll.;
  • sishintsha ukuziphatha kwamaseva uma kunezinkinga ukwandisa ukubekezelela amaphutha;
  • Sizoxwayisa umsebenzisi uma kukhona okungalungile ngokuxhumeka kwakhe nhlobo, njengoba kwenza i-Skype, ukuze aqonde ukuthi inkinga ingasohlangothini lwakhe.

Kusukela ngo-Ephreli, isiqondiso sokuxhumana ngevidiyo sesiyiphrojekthi ehlukene egcwele ngaphakathi kwe-Skyeng, ebhekana nomkhiqizo wayo, hhayi nje ingxenye ye-Vimbox. Lokhu kusho ukuthi sesiqala ukubheka abantu ukusebenza ngevidiyo kwimodi yesikhathi esigcwele. Hhayi-ke, njengenhlalayenza Sifuna abantu abaningi abalungile.

Futhi, kunjalo, siyaqhubeka nokuxhumana nabantu nezinkampani ezisebenza ngokuxhumana kwevidiyo. Uma ufuna ukushintshanisa isipiliyoni nathi, sizojabula! Beka amazwana, thintana - sizophendula wonke umuntu.

Source: www.habr.com