Soti nan Skype rive nan WebRTC: ki jan nou òganize kominikasyon videyo atravè entènèt la

Soti nan Skype rive nan WebRTC: ki jan nou òganize kominikasyon videyo atravè entènèt la

Kominikasyon videyo se fason prensipal kominikasyon ant pwofesè ak elèv sou platfòm Vimbox la. Nou te abandone Skype yon bon bout tan de sa, te eseye plizyè solisyon twazyèm pati epi evantyèlman te etabli sou konbinezon an WebRTC - Janus-gateway. Pandan kèk tan nou te kontan ak tout bagay, men toujou kèk aspè negatif kontinye parèt. Kòm yon rezilta, yo te kreye yon direksyon videyo separe.

Mwen te mande Kirill Rogovoy, chèf nouvo direksyon an, pale sou evolisyon kominikasyon videyo nan Skyeng, pwoblèm yo dekouvri, solisyon ak beki ke nou finalman itilize. Nou espere atik la pral itil pou konpayi yo ki kreye videyo sou pwòp yo atravè yon aplikasyon entènèt.

Yon istwa ti kras

Nan ete 2017 la, chèf devlopman Skyeng, Sergey Safonov, te pale nan Backend Conf ak yon istwa sou fason nou "abandone Skype epi aplike WebRTC." Moun ki enterese ka gade anrejistreman diskou a nan lyen (~45 min), epi isit la mwen pral yon ti tan dekri sans li yo.

Pou Skyeng School, kominikasyon videyo te toujou yon fason priyorite nan kominikasyon pwofesè-elèv. Okòmansman, Skype te itilize, men li te kategorikman pa satisfezan pou yon kantite rezon, sitou akòz mank de mòso bwa ak enposib pou entegrasyon dirèkteman nan aplikasyon entènèt la. Se poutèt sa, nou te pote soti tout kalite eksperyans.

Aktyèlman, kondisyon nou yo pou kominikasyon videyo yo te apeprè sa ki annapre yo:
- estabilite;
— pri ki ba pou chak leson;
— anrejistreman leson;
— swiv ki moun ki pale konbyen (li enpòtan pou nou ke elèv yo pale plis pase pwofesè a pandan leson);
- dekale lineyè;
- kapasite pou itilize tou de UDP ak TCP.

Premye a eseye se te aplike Tokbox nan 2013. Tout bagay te bon, men li te tounen soti yo dwe trè chè - 113 rubles pou chak leson - ak manje pwofi a.

Lè sa a, nan 2015, Voximplant te entegre. Isit la te fonksyon an nou te bezwen swiv ki moun ki te pale konbyen lajan, ak an menm tan an solisyon an te pi bon mache: si sèlman odyo te anrejistre, li te koute 20 rubles pou chak leson. Sepandan, li te travay sèlman atravè UDP epi li pa t 'kapab chanje nan TCP. Sepandan, anviwon 40% elèv yo te fini itilize li.

Yon ane pita, nou te kòmanse gen kliyan antrepriz ak pwòp kondisyon espesifik yo. Pou egzanp, tout bagay ta dwe travay atravè yon navigatè; konpayi an sèlman louvri http ak https; sa vle di pa gen Skype oswa UDP. Kliyan antrepriz = lajan, se konsa yo tounen nan Tokbox, men pwoblèm nan nan pri pa t 'ale.

Solisyon - WebRTC ak Janus

Deside itilize platfòm navigatè pou kominikasyon videyo kanmarad-a-kanmarad WebRTC. Li responsab pou etabli yon koneksyon, kodaj ak dekodaj kouran, senkronize tren ak kontwòl kalite ak jere pwoblèm rezo. Bò kote nou, nou dwe asire lekti kouran soti nan kamera a ak mikwofòn, fè desen videyo, jere koneksyon an, etabli yon koneksyon WebRTC ak transmèt kouran nan li, osi byen ke transmèt mesaj siyal ant kliyan yo etabli yon koneksyon (WebRTC li menm dekri sèlman fòma done, men se pa transfè mekanis li yo). Si kliyan yo dèyè NAT, WebRTC konekte sèvè STUN; si sa pa ede, TURN serveurs.

Yon koneksyon p2p regilye pa ase pou nou, paske nou vle anrejistre leson pou plis analiz nan ka ta gen plent. Se poutèt sa nou voye WebRTC kouran atravè yon relè Janus Gateway pa Meetecho. Kòm yon rezilta, kliyan pa konnen adrès youn lòt, wè sèlman adrès sèvè Janus la; li tou fè fonksyon yo nan yon sèvè siyal. Janus gen anpil nan karakteristik nou bezwen yo: otomatikman chanje nan TCP si kliyan an gen UDP bloke; ka anrejistre tou de UDP ak TCP kouran; évolutive; Genyen menm yon plugin entegre pou tès eko. Si sa nesesè, sèvè STUN ak TURN ki soti nan Twilio yo konekte otomatikman.

Nan ete 2017 la, nou te gen de sèvè Janus kouri, plis yon sèvè adisyonèl pou trete dosye odyo ak videyo ki anrejistre anvan tout koreksyon, pou yo pa okipe processeurs prensipal yo. Lè w konekte, yo te chwazi sèvè Janus sou yon baz enpè-pari (nimewo koneksyon). Nan tan sa a, sa a te ase, dapre santiman nou yo, li te bay apeprè yon maj sekirite kat fwa, pousantaj aplikasyon an te apeprè 80. An menm tan an, pri a te redwi a ~ 2 rubles pou chak leson, plis devlopman ak sipò.

Soti nan Skype rive nan WebRTC: ki jan nou òganize kominikasyon videyo atravè entènèt la

Retounen nan sijè a nan kominikasyon videyo

Nou toujou kontwole fidbak elèv yo ak pwofesè yo nan lòd yo idantifye ak korije pwoblèm nan yon fason apwopriye. Nan ete 2018 la, bon jan kalite apèl te byen fèm nan premye plas nan mitan plent yo. Sou yon bò, sa vle di ke nou te reyisi simonte lòt enpèfeksyon. Nan lòt men an, li te nesesè fè yon bagay ijan: si leson an deranje, nou riske pèdi valè li, pafwa ansanm ak pri pou achte pwochen pake a, epi si leson entwodiksyon an deranje, nou riske pèdi yon kliyan potansyèl. tout ansanm.

Lè sa a, kominikasyon videyo nou an te toujou nan mòd MVP. Senpleman mete, yo te lanse li, li te travay, yo te monte li yon fwa, yo te konprann ki jan yo fè li - byen, gwo. Si li travay, pa ranje li. Pa gen moun ki fè espre adrese pwoblèm nan nan bon jan kalite kominikasyon. Nan mwa Out, li te vin klè ke sa a pa t 'kapab kontinye, epi nou te lanse yon direksyon separe pou evalye sa ki te mal ak WebRTC ak Janus.

Nan opinyon an, direksyon sa a te resevwa: yon solisyon MVP, pa gen okenn metrik, pa gen okenn objektif, pa gen okenn pwosesis pou amelyorasyon, pandan y ap 7% nan pwofesè plenyen sou bon jan kalite a nan kominikasyon (pa te gen okenn done sou elèv yo tou).

Soti nan Skype rive nan WebRTC: ki jan nou òganize kominikasyon videyo atravè entènèt la

Yon nouvo direksyon ap mache

Kòmandman an sanble yon bagay tankou sa a:

  • Tèt la nan depatman an, ki se tou pwomotè prensipal la.
  • QA ede teste chanjman, chèche nouvo fason pou kreye kondisyon kominikasyon enstab, epi rapòte pwoblèm nan premye liy lan.
  • Analis la toujou ap chèche plizyè korelasyon nan done teknik, amelyore analiz de fidbak itilizatè a, epi tcheke rezilta eksperyans yo.
  • Manadjè pwodwi a ede ak direksyon an jeneral ak alokasyon resous pou eksperyans yo.
  • Yon dezyèm pwomotè souvan ede ak pwogramasyon ak travay ki gen rapò.

Pou kòmanse, nou mete kanpe yon metrik relativman serye ki swiv chanjman nan evalyasyon kalite kominikasyon (mwayèn sou jou, semèn, mwa). Nan epòk sa a, se te nòt pwofesè yo, yo te ajoute nòt apre elèv yo. Lè sa a, yo te kòmanse bati ipotèz sou sa ki te travay mal, korije li, epi gade nan chanjman nan dinamik. Nou te ale pou fwi a ki pandye ki ba: pou egzanp, nou ranplase kodèk la vp8 ak vp9, pèfòmans lan amelyore. Nou te eseye jwe ak anviwònman Janus yo ak fè lòt eksperyans - nan pifò ka yo pa mennen nan anyen.

Nan dezyèm etap la, yon ipotèz parèt: WebRTC se yon solisyon kanmarad-a-kanmarad, epi nou itilize yon sèvè nan mitan an. Petèt pwoblèm nan se isit la? Nou te kòmanse fouye epi nou te jwenn amelyorasyon ki pi enpòtan jiskaprezan.

Nan moman sa a, yo te chwazi yon sèvè ki soti nan pisin lan lè l sèvi avèk yon algorithm olye estipid: chak te gen pwòp "pwa" li yo, depann sou kanal la ak pouvwa, epi nou te eseye voye itilizatè a nan youn nan ki gen pi gwo "pwa", san yo pa. peye atansyon sou kote itilizatè a te lokalize jeyografikman. Kòm yon rezilta, yon pwofesè ki soti nan Saint Petersburg te kapab kominike ak yon elèv ki soti nan Siberia nan Moskou, epi yo pa atravè sèvè Janus nou an nan St.

Algorithm la te refè: kounye a, lè yon itilizatè ouvri platfòm nou an, nou kolekte ping nan men l 'nan tout sèvè lè l sèvi avèk Ajax. Lè nou etabli yon koneksyon, nou chwazi yon pè ping (pwofesè-sèvè ak elèv-sèvè) ak pi piti kantite lajan an. Mwens ping vle di mwens distans rezo a sèvè a; pi kout distans vle di pi ba pwobabilite pou pèdi pake; Pèt pake se pi gwo faktè negatif nan kominikasyon videyo. Pataje negativite a te tonbe a mwatye nan twa mwa (yo dwe jis, lòt eksperyans yo te pote soti nan moman sa a, men yon sèl sa a prèske sètènman te gen plis enpak).

Soti nan Skype rive nan WebRTC: ki jan nou òganize kominikasyon videyo atravè entènèt la

Soti nan Skype rive nan WebRTC: ki jan nou òganize kominikasyon videyo atravè entènèt la

Nou fèk dekouvri yon lòt bagay ki pa evidan, men aparamman enpòtan: olye pou yo yon sèl pwisan sèvè Janus sou yon chanèl epè, li pi bon pou gen de youn ki pi senp ak Pleasant mens. Sa a te vin klè apre nou te achte machin pwisan nan espwa nan bakouraje kòm anpil chanm (sesyon kominikasyon) nan yo an menm tan an. Sèvè yo gen yon limit Pleasant, ki nou ka avèk presizyon tradui nan kantite chanm - nou konnen konbyen yo ka louvri, pou egzanp, nan 300 Mbit / s. Le pli vit ke gen twòp chanm louvri sou yon sèvè, nou sispann chwazi li pou nouvo aktivite jiskaske chaj la diminye. Lide a te ke, li te achte yon machin pwisan, nou ta chaje kanal la nan li nan maksimòm la, se konsa ke nan fen li ta dwe limite pa processeur a ak memwa, epi yo pa pa Pleasant. Men, li te tounen soti ke apre yon sèten kantite chanm ouvè (420), malgre lefèt ke chaj la sou processeur a, memwa ak disk se toujou trè lwen soti nan limit yo, negativite kòmanse rive nan sipò teknik. Aparamman, yon bagay ap vin pi mal andedan Janus, petèt gen kèk restriksyon la tou. Nou te kòmanse fè eksperyans, bese limit la Pleasant soti nan 300 a 200 Mbit / s, ak pwoblèm yo ale. Koulye a, nou te achte twa nouvo serveurs nan yon fwa ak limit ki ba ak karakteristik, nou panse ke sa a ap mennen nan yon amelyorasyon ki estab nan bon jan kalite a nan kominikasyon. Natirèlman, nou pa t eseye konnen kisa ki t ap pase la; beki nou yo se tout bagay. Nan defans nou an, se pou nou di ke nan moman sa a li te nesesè yo rezoud pwoblèm nan peze pi vit ke posib, epi yo pa fè li trè byen; anplis, Janus pou nou se yon bwat nwa ki ekri an C, li chè anpil pou brikole avè l.

Soti nan Skype rive nan WebRTC: ki jan nou òganize kominikasyon videyo atravè entènèt la

Oke, nan pwosesis la nou:

  • mete ajou tout depandans ki ta ka mete ajou, tou de sou sèvè a ak sou kliyan an (sa yo te tou eksperyans, nou kontwole rezilta yo);
  • ranje tout pinèz idantifye ki gen rapò ak ka espesifik, pou egzanp, lè koneksyon an tonbe epi yo pa te retabli otomatikman;
  • Nou te fè anpil reyinyon ak konpayi k ap travay nan domèn kominikasyon videyo e ki abitye ak pwoblèm nou yo: difizyon jwèt, òganize webinars; nou te eseye tout sa ki te sanble itil nou;
  • Te fè yon revizyon teknik nan pyès ki nan konpitè ak kominikasyon kalite pwofesè yo, ki soti nan ki pi plent yo soti.

Eksperyans yo ak chanjman ki vin apre yo te fè li posib pou redwi mekontantman ak kominikasyon pami pwofesè yo soti nan 7,1% nan mwa janvye 2018 a 2,5% nan mwa janvye 2019.

Ki sa ki nan pwochen an

Estabilize platfòm Vimbox nou an se youn nan pwojè prensipal konpayi an pou 2019. Nou gen gwo espwa ke nou pral kapab kenbe momantòm nan epi yo pa wè kominikasyon videyo nan plent yo tèt yo. Nou konprann ke yon pati enpòtan nan plent sa yo gen rapò ak lag nan òdinatè itilizatè yo ak entènèt, men nou dwe detèmine pati sa a ak rezoud rès la. Tout lòt bagay se yon pwoblèm teknik, sanble nou ta dwe kapab fè fas ak li.

Difikilte prensipal la se ke nou pa konnen nan ki nivo li se aktyèlman posib amelyore kalite. Chèche konnen plafon sa a se travay prensipal la. Se poutèt sa, de eksperyans yo te planifye:

  1. konpare videyo atravè Janus ak p2p regilye nan kondisyon konba. Eksperyans sa a te deja fèt, pa gen okenn diferans estatistik enpòtan yo te jwenn ant solisyon nou an ak p2p;
  2. Se pou nou bay (chè) sèvis nan konpayi ki fè lajan sèlman sou solisyon kominikasyon videyo, epi konpare kantite negatif nan men yo ak youn nan ki deja egziste.

De eksperyans sa yo pral pèmèt nou idantifye yon objektif posib epi konsantre sou li.

Anplis de sa, gen yon kantite travay ki ka rezoud regilyèman:

  • Nou kreye yon metrik teknik nan bon jan kalite kominikasyon olye pou yo revizyon subjectif;
  • Nou fè mòso sesyon plis detay yo nan lòd yo analize pi egzak echèk yo ki rive, konprann ki lè ak ki kote egzakteman yo te rive, ak ki evènman w sanble pa gen rapò ki te fèt nan moman sa a;
  • Nou prepare yon tès bon jan kalite koneksyon otomatik anvan leson an, epi tou bay kliyan an opòtinite pou teste koneksyon an manyèlman yo nan lòd yo diminye kantite negatif ki te koze pa pyès ki nan konpitè ak kanal li;
  • nou pral devlope ak fè plis tès chaj kominikasyon videyo nan move kondisyon, ak pèt pake varyab, elatriye;
  • nou chanje konpòtman an nan sèvè nan ka ta gen pwoblèm ogmante tolerans fay;
  • Nou pral avèti itilizatè a si gen yon bagay ki mal ak koneksyon li nan tout, menm jan Skype fè sa, pou li konprann ke pwoblèm nan se sou bò l '.

Depi avril, direksyon kominikasyon videyo a vin tounen yon pwojè separe nan Skyeng, ki fè fas ak pwòp pwodwi li yo, pa sèlman yon pati nan Vimbox. Sa vle di ke nou ap kòmanse chèche moun sou travay ak videyo nan mòd aplentan. Oke, kòm toujou Nou ap chache anpil bon moun.

Epi, nan kou, nou kontinye aktivman kominike ak moun ak konpayi k ap travay ak kominikasyon videyo. Si ou vle fè echanj eksperyans avèk nou, nou pral kontan! Kòmante, pran kontak - nou pral reponn tout moun.

Sous: www.habr.com