Kuchokera ku Skype kupita ku WebRTC: momwe tidakonzera kulumikizana kwamakanema kudzera pa intaneti

Kuchokera ku Skype kupita ku WebRTC: momwe tidakonzera kulumikizana kwamakanema kudzera pa intaneti

Kulankhulana kwamakanema ndiye njira yayikulu yolankhulirana pakati pa mphunzitsi ndi wophunzira papulatifomu ya Vimbox. Tinasiya Skype kalekale, kuyesa mayankho angapo a chipani chachitatu ndipo pamapeto pake tidakhazikika pa WebRTC - Janus-gateway kuphatikiza. Kwa nthawi ndithu tinali okondwa ndi chirichonse, komabe mbali zina zoipa zinapitirira kuonekera. Zotsatira zake, njira yosiyana ya kanema idapangidwa.

Ndidafunsa a Kirill Rogovoy, wamkulu wa njira yatsopanoyi, kuti alankhule za kusintha kwa kulumikizana kwamavidiyo ku Skyeng, mavuto omwe adapezeka, mayankho ndi ndodo zomwe tidagwiritsa ntchito. Tikukhulupirira kuti nkhaniyi ikhala yothandiza kwa makampani omwe amapanganso makanema pawokha kudzera pa intaneti.

Zakale za mbiriyakale

M'chilimwe cha 2017, mkulu wa chitukuko cha Skyeng, Sergey Safonov, adalankhula ku Backend Conf ndi nkhani ya momwe "tinasiya Skype ndikukhazikitsa WebRTC." Amene ali ndi chidwi akhoza kuonera kujambula kwa mawu pa kugwirizana (~ 45 min), ndipo apa ndifotokoza mwachidule tanthauzo lake.

Kwa Sukulu ya Skyeng, kuyankhulana pavidiyo kwakhala njira yofunika kwambiri yolankhulirana pakati pa aphunzitsi ndi ophunzira. Poyamba, Skype idagwiritsidwa ntchito, koma sizinali zokhutiritsa pazifukwa zingapo, makamaka chifukwa cha kusowa kwa zipika komanso zosatheka kuphatikizira mwachindunji pa intaneti. Choncho, tinachita mitundu yonse yoyesera.

Kwenikweni, zofunika zathu pakulankhulana kwamakanema zinali pafupifupi izi:
- bata;
- mtengo wotsika pa phunziro lililonse;
- kujambula maphunziro;
- kutsata amene amalankhula mochuluka (ndikofunikira kwa ife kuti ophunzira alankhule kwambiri kuposa mphunzitsi panthawi yamaphunziro);
- kukula kwa mzere;
- Kutha kugwiritsa ntchito UDP ndi TCP.

Yoyamba kuyesa inali kukhazikitsa Tokbox mu 2013. Chilichonse chinali chabwino, koma chinali chokwera mtengo kwambiri - ma ruble 113 pa phunziro lililonse - ndipo adadya phindu.

Kenako mu 2015, Voximplant idaphatikizidwa. Apa panali ntchito yomwe tinkafunikira kuti tiwone yemwe adalankhula mochuluka, ndipo nthawi yomweyo yankho linali lotsika mtengo kwambiri: ngati ma audio okha adajambulidwa, amawononga ma ruble 20 pa phunziro lililonse. Komabe, idangogwira ntchito kudzera pa UDP ndipo sinathe kusintha kupita ku TCP. Komabe, pafupifupi 40% ya ophunzira adamaliza kugwiritsa ntchito.

Patatha chaka chimodzi, tinayamba kukhala ndi makasitomala amakampani omwe ali ndi zofunikira zawo. Mwachitsanzo, zonse ziyenera kugwira ntchito kudzera pa msakatuli; kampaniyo imangotsegula http ndi https; i.e. palibe Skype kapena UDP. Makasitomala amakampani = ndalama, kotero adabwerera ku Tokbox, koma vuto la mtengo silinathe.

Yankho - WebRTC ndi Janus

Anaganiza ntchito nsanja ya msakatuli yolumikizirana ndi anzanu ndi anzawo WebRTC. Ndi udindo kukhazikitsa kugwirizana, encoding ndi decoding mitsinje, synchronizing njanji ndi khalidwe kulamulira ndi kusamalira maukonde glitches. Kwa ife, tiyenera kuonetsetsa kuti tikuwerenga mitsinje kuchokera ku kamera ndi maikolofoni, kujambula kanema, kuyang'anira kugwirizana, kukhazikitsa kugwirizana kwa WebRTC ndi kufalitsa mitsinje kwa izo, komanso kutumiza mauthenga osayina pakati pa makasitomala kuti akhazikitse kugwirizana (WebRTC imangofotokoza chabe mtundu wa data, koma osati kusamutsidwa kwake). Ngati makasitomala ali kuseri kwa NAT, WebRTC imalumikiza ma seva a STUN; ngati izi sizikuthandizani, TURN ma seva.

Kulumikizana kokhazikika kwa p2p sikokwanira kwa ife, chifukwa tikufuna kulemba maphunziro kuti tiwunikenso pakakhala madandaulo. Chifukwa chake timatumiza mitsinje ya WebRTC kudzera pa relay Janus Gateway ndi Meetecho. Chotsatira chake, makasitomala sadziwa maadiresi a wina ndi mzake, akuwona adiresi ya seva ya Janus yokha; imagwiranso ntchito za seva yolumikizira. Janus ali ndi zinthu zambiri zomwe timafunikira: amasintha okha ku TCP ngati kasitomala ali ndi UDP yotsekedwa; akhoza kujambula mitsinje yonse ya UDP ndi TCP; scalable; Palinso pulogalamu yowonjezera yopangira ma echo test. Ngati ndi kotheka, ma seva a STUN ndi TURN ochokera ku Twilio amalumikizidwa okha.

M'chilimwe cha 2017, tinali ndi ma seva awiri a Janus omwe akuyenda, kuphatikiza seva yowonjezera yosinthira mafayilo amawu ndi makanema ojambulidwa, kuti asatenge mapurosesa aakulu. Polumikiza, ma seva a Janus adasankhidwa mosiyanasiyana (nambala yolumikizira). Panthawi imeneyo, izi zinali zokwanira, malinga ndi momwe timamvera, zinapereka pafupifupi malire anayi a chitetezo, chiwerengero cha kukhazikitsidwa chinali pafupifupi 80. Panthawi imodzimodziyo, mtengowo unachepetsedwa kukhala ~ 2 rubles pa phunziro, kuphatikizapo chitukuko ndi chithandizo.

Kuchokera ku Skype kupita ku WebRTC: momwe tidakonzera kulumikizana kwamakanema kudzera pa intaneti

Kubwereranso ku mutu wa kulumikizana kwamavidiyo

Timayang'anitsitsa ndemanga za ophunzira ndi aphunzitsi nthawi zonse kuti tizindikire ndi kukonza mavuto munthawi yake. Pofika m'chilimwe cha 2018, khalidwe la foni linali lolimba pakati pa madandaulo. Kumbali ina, izi zinatanthauza kuti tinagonjetsa zophophonya zina mwachipambano. Kumbali ina, kunali koyenera kuchita chinachake mwachangu: ngati phunzirolo likusokonezedwa, timataya mtengo wake, nthawi zina pamodzi ndi mtengo wogula phukusi lotsatira, ndipo ngati phunziro loyambirira lisokonezedwa, tikhoza kutaya kasitomala yemwe angakhalepo. palimodzi.

Panthawiyo, kulankhulana kwathu pavidiyo kunali kudakali mu MVP. Mwachidule, adayiyambitsa, idagwira ntchito, adayikweza kamodzi, adamvetsetsa momwe angachitire - chabwino, chabwino. Ngati zikugwira ntchito, musakonze. Palibe amene adalankhula dala pankhani ya kulumikizana bwino. Pofika mu Ogasiti, zidawonekeratu kuti izi sizingapitirire, ndipo tidayambitsa njira ina kuti tidziwe chomwe chinali cholakwika ndi WebRTC ndi Janus.

Pothandizira, malangizowa adalandira: yankho la MVP, palibe ma metrics, palibe zolinga, palibe njira zowonjezera, pamene 7% ya aphunzitsi amadandaula za ubwino wa kulankhulana (panalibe deta pa ophunzira).

Kuchokera ku Skype kupita ku WebRTC: momwe tidakonzera kulumikizana kwamakanema kudzera pa intaneti

Njira yatsopano ikuchitika

Lamulo likuwoneka motere:

  • Mtsogoleri wa dipatimentiyo, yemwenso ndi woyambitsa wamkulu.
  • QA imathandizira kusintha koyesa, kuyang'ana njira zatsopano zopangira kulumikizana kosakhazikika, ndikuwonetsa zovuta kuchokera pamzere wakutsogolo.
  • Katswiriyu amayang'ana nthawi zonse zolumikizana zosiyanasiyana pazaumisiri, amawongolera kuwunika kwa mayankho a ogwiritsa ntchito, ndikuwunika zotsatira za zoyeserera.
  • Woyang'anira malonda amathandizira ndi njira yonse komanso kugawa kwazinthu zoyeserera.
  • Wopanga wachiwiri nthawi zambiri amathandizira pakukonza mapulogalamu ndi ntchito zofananira.

Poyamba, tinakhazikitsa metric yodalirika yomwe imayang'anira kusintha kwamayendedwe amawu (avareji yamasiku, masabata, miyezi). PanthaΕ΅iyo, awa anali magiredi ochokera kwa aphunzitsi; pambuyo pake magiredi a ophunzira anawonjezedwa kwa iwo. Kenako anayamba kupanga zongopeka za zomwe zikuyenda molakwika, kuzikonza, ndikuyang'ana kusintha kwa mphamvu. Tinapita ku zipatso zotsika: mwachitsanzo, tidasintha vp8 codec ndi vp9, ntchitoyo idayenda bwino. Tidayesa kusewera ndi zoikamo Janus ndikuchita zoyeserera zina - nthawi zambiri sizinabweretse chilichonse.

Pa gawo lachiwiri, lingaliro linatuluka: WebRTC ndi yankho la anzawo, ndipo timagwiritsa ntchito seva pakati. Mwina vuto lagona apa? Tinayamba kukumba ndikupeza kusintha kwakukulu kwambiri mpaka pano.

Panthawiyo, seva yochokera padziwe idasankhidwa pogwiritsa ntchito algorithm yopusa: aliyense anali ndi "kulemera" kwake, kutengera njira ndi mphamvu, ndipo tidayesa kutumiza wogwiritsa ntchito "kulemera" kwakukulu, popanda kutchera khutu kumene wogwiritsa ntchitoyo anali . Chifukwa cha zimenezi, mphunzitsi wa ku St. Petersburg ankatha kulankhulana ndi wophunzira wochokera ku Siberia kudzera ku Moscow, osati kudzera mu seva yathu ya Janus ku St.

Algorithm yasinthidwanso: tsopano, wogwiritsa ntchito akatsegula nsanja yathu, timasonkhanitsa ma pings kuchokera kwa iye kupita ku ma seva onse pogwiritsa ntchito Ajax. Pokhazikitsa kulumikizana, timasankha ma pings (mphunzitsi-seva ndi seva ya ophunzira) ndi ndalama zochepa kwambiri. Kuchepa kwa ping kumatanthauza mtunda wocheperako wa netiweki kupita ku seva; mtunda waufupi umatanthauza mwayi wochepa wa kutaya mapaketi; Kutayika kwa paketi ndiye vuto lalikulu pakulumikizana kwamakanema. Gawo la kusagwirizana lidatsika ndi theka m'miyezi itatu (kunena zowona, zoyeserera zina zidachitika panthawiyi, koma izi zidakhudza kwambiri).

Kuchokera ku Skype kupita ku WebRTC: momwe tidakonzera kulumikizana kwamakanema kudzera pa intaneti

Kuchokera ku Skype kupita ku WebRTC: momwe tidakonzera kulumikizana kwamakanema kudzera pa intaneti

Posachedwapa tapeza chinthu china chosadziwika, koma chofunika kwambiri: m'malo mwa seva imodzi yamphamvu ya Janus pa kanjira wandiweyani, ndi bwino kukhala ndi ziwiri zosavuta ndi bandwidth yocheperako. Izi zinadziwika bwino titagula makina amphamvu ndi chiyembekezo chodzaza zipinda zambiri (zolankhulana) nthawi imodzi. Ma seva ali ndi malire a bandwidth, omwe tingathe kumasulira molondola mu chiwerengero cha zipinda - timadziwa kuti ndi angati omwe angatsegulidwe, mwachitsanzo, pa 300 Mbit / s. Zipinda zikangotsegulidwa pa seva, timasiya kusankha zochita zatsopano mpaka katundu atachepa. Lingaliro linali lakuti, titagula makina amphamvu, timayika njirayo mpaka kufika pamtunda, kotero kuti pamapeto pake ikhale yochepa ndi purosesa ndi kukumbukira, osati ndi bandwidth. Koma zinapezeka kuti pambuyo chiwerengero cha zipinda lotseguka (420), ngakhale kuti katundu pa purosesa, kukumbukira ndi litayamba akadali kutali kwambiri ndi malire, negativity akuyamba kufika pa luso thandizo. Mwachiwonekere, chinachake chikuipiraipira mkati mwa Janus, mwinamwake pali zoletsa zina mmenemonso. Tinayamba kuyesa, kutsitsa malire a bandwidth kuchokera ku 300 mpaka 200 Mbit / s, ndipo mavuto adachoka. Tsopano tidagula ma seva atatu atsopano nthawi imodzi ndi malire otsika ndi mawonekedwe, tikuganiza kuti izi zipangitsa kuti kulumikizana kukhale kokhazikika. Inde, sitinayese kudziwa zomwe zikuchitika kumeneko; ndodo zathu ndi chilichonse. Podzitchinjiriza, tinene kuti panthawiyo kunali kofunikira kuthetsa vutoli mwachangu momwe tingathere, osati kuchita mokongola; Kupatula apo, Janus kwa ife ndi bokosi lakuda lolembedwa mu C, ndilokwera mtengo kwambiri kulilingalira.

Kuchokera ku Skype kupita ku WebRTC: momwe tidakonzera kulumikizana kwamakanema kudzera pa intaneti

Chabwino, mu ndondomeko ife:

  • sinthani zodalira zonse zomwe zitha kusinthidwa, pa seva ndi kasitomala (izi zinalinso zoyeserera, tidayang'anira zotsatira);
  • anakonza nsikidzi zonse zodziwika zokhudzana ndi zochitika zinazake, mwachitsanzo, pamene kugwirizana kunatsika ndipo sikunabwezeretsedwe;
  • Tidachita misonkhano yambiri ndi makampani omwe amagwira ntchito yolumikizirana mavidiyo komanso odziwa bwino mavuto athu: kusewera masewera, kukonza ma webinars; tinayesa zonse zimene zinkaoneka zothandiza kwa ife;
  • Anachita kuwunika kwaukadaulo kwaukadaulo waukadaulo ndi kulumikizana kwa aphunzitsi, omwe madandaulo ambiri adachokera.

Kuyesera ndi kusintha kotsatira kunapangitsa kuti zichepetse kusakhutira ndi kulumikizana pakati pa aphunzitsi kuchokera pa 7,1% mu Januware 2018 mpaka 2,5% mu Januware 2019.

Chotsatira

Kukhazikitsa nsanja yathu ya Vimbox ndi imodzi mwama projekiti akuluakulu amakampani a 2019. Tili ndi chiyembekezo chachikulu kuti tidzatha kukhalabe ndi mphamvu komanso osawonanso kuyankhulana kwamavidiyo pamadandaulo apamwamba. Timamvetsetsa kuti gawo lalikulu la madandaulowa ndi okhudzana ndi kusakhazikika pamakompyuta ndi intaneti, koma tiyenera kudziwa gawo ili ndikuthetsa zina zonse. Zina zonse ndizovuta zaukadaulo, zikuwoneka kuti titha kuthana nazo.

Chovuta chachikulu ndichakuti sitikudziwa kuti ndizotheka bwanji kuti tiwongolere bwino. Kupeza denga ili ndiye ntchito yayikulu. Chifukwa chake, kuyesa kuwiri kunakonzedwa:

  1. yerekezerani kanema kudzera pa Janus ndi p2p yokhazikika m'malo omenyera. Kuyesera uku kwachitika kale, palibe kusiyana kwakukulu komwe kunapezeka pakati pa yankho lathu ndi p2p;
  2. Tiyeni tipereke (zokwera mtengo) ntchito kuchokera kumakampani omwe amapanga ndalama panjira zoyankhulirana zamakanema, ndikuyerekeza kuchuluka kwa kusamvetsetsana kwawo ndi komwe kulipo kale.

Kuyesera kuwiri kumeneku kudzatithandiza kuzindikira cholinga chomwe tingathe kukwanitsa ndikuchiika patsogolo.

Kuphatikiza apo, pali ntchito zingapo zomwe zimatha kuthetsedwa mwachizolowezi:

  • Timapanga ukadaulo waukadaulo waukadaulo wolumikizirana m'malo mongoganizira mozama;
  • Timapanga zipika zatsatanetsatane za gawoli kuti tithe kusanthula molondola zolephera zomwe zimachitika, kumvetsetsa nthawi ndi komwe zidachitika ndendende, komanso zomwe zikuwoneka kuti sizikugwirizana zomwe zidachitika panthawiyo;
  • Timakonzekera mayeso amtundu wolumikizira okha phunzirolo lisanachitike, komanso kupatsa kasitomala mwayi woyesa pamanja kulumikizana kuti achepetse kusasamala komwe kumachitika chifukwa cha hardware ndi njira yake;
  • tipanga ndikuyesanso kuyesa kuyankhulana kwamakanema m'malo ovuta, ndikutayika kwa paketi yosinthika, ndi zina zambiri;
  • timasintha khalidwe la ma seva ngati pali mavuto kuti tiwonjezere kulolerana kwa zolakwika;
  • Tidzachenjeza wogwiritsa ntchito ngati pali cholakwika chilichonse ndi kulumikizana kwake konse, monga Skype amachitira, kuti amvetsetse kuti vuto liri kumbali yake.

Kuyambira Epulo, mayendedwe olankhulirana amakanema akhala projekiti yosiyana kwambiri mkati mwa Skyeng, yokhudzana ndi zogulitsa zake, osati gawo chabe la Vimbox. Izi zikutanthauza kuti tayamba kufunafuna anthu ntchito ndi kanema mu nthawi zonse mode. Chabwino, monga nthawizonse Tikuyang'ana anthu abwino ambiri.

Ndipo, zowona, tikupitilizabe kuyankhulana mwachangu ndi anthu ndi makampani omwe akugwira ntchito ndi makanema ochezera. Ngati mukufuna kusinthana nafe, tidzakhala okondwa! Ndemanga, lumikizanani - tidzayankha aliyense.

Source: www.habr.com