Los ntawm Skype rau WebRTC: yuav ua li cas peb teeb tsa kev sib txuas lus video ntawm lub vev xaib

Los ntawm Skype rau WebRTC: yuav ua li cas peb teeb tsa kev sib txuas lus video ntawm lub vev xaib

Kev sib txuas lus video yog txoj hauv kev tseem ceeb ntawm kev sib txuas lus ntawm tus kws qhia ntawv thiab cov tub ntxhais kawm ntawm Vimbox platform. Peb tau tso Skype ntev dhau los, sim ntau qhov kev daws teeb meem thib peb thiab nws thiaj li txiav txim siab ntawm WebRTC - Janus-gateway ua ke. Rau qee lub sijhawm peb zoo siab nrog txhua yam, tab sis tseem muaj qee qhov tsis zoo txuas ntxiv tshwm sim. Yog li ntawd, ib qho kev taw qhia video cais tau tsim.

Kuv nug Kirill Rogovoy, tus thawj coj ntawm cov kev taw qhia tshiab, los tham txog kev hloov pauv ntawm kev sib txuas lus video ntawm Skyeng, cov teeb meem nrhiav pom, cov kev daws teeb meem thiab cov cuab yeej cuab tam uas peb siv thaum kawg. Peb cia siab tias tsab xov xwm yuav muaj txiaj ntsig zoo rau cov tuam txhab uas tseem tsim cov yeeb yaj kiab ntawm lawv tus kheej los ntawm daim ntawv thov web.

Ib me ntsis keeb kwm

Thaum lub caij ntuj sov xyoo 2017, tus thawj coj ntawm Skyeng txoj kev loj hlob, Sergey Safonov, tau hais ntawm Backend Conf nrog ib zaj dab neeg hais txog yuav ua li cas peb "tso tseg Skype thiab siv WebRTC." Cov neeg txaus siab tuaj yeem saib daim ntawv teev lus hais ntawm txuas (~ 45 min), thiab ntawm no kuv yuav piav qhia luv luv ntawm nws cov ntsiab lus.

Rau Tsev Kawm Ntawv Skyeng, kev sib txuas lus video ib txwm yog txoj hauv kev tseem ceeb ntawm kev sib txuas lus ntawm tus kws qhia-cov tub ntxhais kawm. Thaum xub thawj, Skype tau siv, tab sis nws yog categorically tsis txaus siab rau ib tug xov tooj ntawm cov laj thawj, feem ntau yog vim tsis muaj cov cav thiab lub impossibility ntawm kev koom ua ke ncaj qha mus rau hauv lub web daim ntawv thov. Yog li ntawd, peb tau ua txhua yam kev sim.

Qhov tseeb, peb cov kev cai rau kev sib txuas lus video yog kwv yees li hauv qab no:
- stability;
- tus nqi qis rau ib zaj lus qhia;
- sau cov lus qhia;
- taug qab tus neeg hais lus ntau npaum li cas (nws yog ib qho tseem ceeb rau peb tias cov tub ntxhais kawm hais lus ntau dua li tus kws qhia ntawv thaum kawm);
- linear scaling;
- muaj peev xwm siv UDP thiab TCP.

Thawj zaug sim yog siv Tokbox hauv 2013. Txhua yam yog qhov zoo, tab sis nws hloov tawm mus rau kim heev - 113 rubles ib zaj lus qhia - thiab noj cov nyiaj tau los.

Tom qab ntawd xyoo 2015, Voximplant tau koom ua ke. Ntawm no yog lub luag haujlwm peb xav tau los taug qab leej twg hais ntau npaum li cas, thiab tib lub sijhawm kev daws teeb meem yog pheej yig dua: yog tias tsuas yog kaw suab, nws raug nqi 20 rubles ib zaj lus qhia. Txawm li cas los xij, nws tsuas yog ua haujlwm ntawm UDP thiab tsis tuaj yeem hloov mus rau TCP. Txawm li cas los xij, kwv yees li 40% ntawm cov tub ntxhais kawm tau siv nws.

Ib xyoos tom qab, peb pib muaj cov neeg siv khoom lag luam nrog lawv tus kheej cov cai tshwj xeeb. Piv txwv li, txhua yam yuav tsum ua haujlwm los ntawm qhov browser; lub tuam txhab tsuas yog qhib http thiab https; i.e. tsis muaj Skype lossis UDP. Cov neeg siv khoom lag luam = nyiaj, yog li lawv rov qab mus rau Tokbox, tab sis qhov teeb meem ntawm tus nqi tsis ploj mus.

Kev daws - WebRTC thiab Janus

Txiav txim siab siv browser platform rau cov phooj ywg-rau-peer video sib txuas lus WebRTC. Nws yog lub luag haujlwm tsim kom muaj kev sib txuas, encoding thiab decoding kwj, synchronizing lem thiab tswj kom zoo nrog tuav cov kev sib txuas hauv network. Rau peb feem, peb yuav tsum xyuas kom meej nyeem cov kwj ntawm lub koob yees duab thiab lub microphone, kos duab yees duab, tswj kev sib txuas, tsim kom muaj WebRTC kev sib txuas thiab xa cov kwj mus rau nws, nrog rau kev xa cov lus ceeb toom ntawm cov neeg siv khoom los tsim kev sib txuas (WebRTC nws tus kheej piav qhia txog qhov cov ntaub ntawv hom, tab sis tsis yog nws cov kev hloov pauv). Yog tias cov neeg siv khoom nyob tom qab NAT, WebRTC txuas STUN servers; yog tias qhov no tsis pab, tig cov servers.

Kev sib txuas p2p tsis tu ncua tsis txaus rau peb, vim peb xav sau cov lus qhia ntxiv rau kev tshuaj xyuas ntxiv thaum muaj kev tsis txaus siab. Yog li peb xa WebRTC kwj los ntawm kev xa xov Janus Gateway los ntawm Metecho. Yog li ntawd, cov neeg siv khoom tsis paub txhua qhov chaw nyob, pom tsuas yog Janus server chaw nyob; nws kuj ua haujlwm ntawm lub teeb liab server. Janus muaj ntau yam uas peb xav tau: cia li hloov mus rau TCP yog tias tus neeg siv tau UDP thaiv; tuaj yeem kaw ob qho tib si UDP thiab TCP ntws; scalable; Muaj txawm tias ib lub plugin built-in rau kev kuaj ncha. Yog tias tsim nyog, STUN thiab TURN servers los ntawm Twilio tau txuas nrog.

Nyob rau lub caij ntuj sov xyoo 2017, peb muaj ob lub Janus servers khiav, ntxiv rau cov neeg rau zaub mov ntxiv rau kev ua cov ntaub ntawv kaw suab thiab video, kom tsis txhob tuav cov txheej txheem ntawm cov tseem ceeb. Thaum sib txuas, Janus servers raug xaiv los ntawm qhov khib-xeem (tus lej txuas). Thaum lub sijhawm ntawd, qhov no txaus, raws li peb txoj kev xav, nws muab kwv yees li plaub npaug ntawm kev nyab xeeb, feem pua ​​​​ntawm kev siv yog li 80. Tib lub sijhawm, tus nqi raug txo mus rau ~ 2 rubles ib zaj lus qhia, ntxiv rau kev txhim kho thiab kev txhawb nqa.

Los ntawm Skype rau WebRTC: yuav ua li cas peb teeb tsa kev sib txuas lus video ntawm lub vev xaib

Rov qab mus rau lub ntsiab lus ntawm kev sib txuas lus video

Peb niaj hnub saib xyuas cov lus tawm tswv yim los ntawm cov tub ntxhais kawm thiab cov kws qhia ntawv txhawm rau txheeb xyuas thiab kho cov teeb meem raws sijhawm. Los ntawm lub caij ntuj sov xyoo 2018, kev hu xov tooj zoo tau ruaj khov hauv thawj qhov chaw ntawm kev tsis txaus siab. Ntawm qhov tod tes, qhov no txhais tau tias peb tau kov yeej lwm yam kev tsis txaus. Ntawm qhov tod tes, nws yog ib qho tsim nyog yuav tsum tau ua ib yam dab tsi ceev: yog tias qhov kev kawm cuam tshuam, peb pheej pheej hmoo poob nws cov nqi, qee zaum nrog rau tus nqi ntawm kev yuav cov pob tom ntej, thiab yog tias cov lus qhia pib cuam tshuam, peb pheej hmoo poob tus neeg siv khoom. tag nrho.

Lub sijhawm ntawd, peb cov kev sib txuas lus video tseem nyob hauv MVP hom. Cias muab tso, lawv launched nws, nws ua hauj lwm, lawv scaled nws ib zaug, lawv to taub yuav ua li cas nws - zoo, zoo heev. Yog tias nws ua haujlwm, tsis txhob kho nws. Tsis muaj leej twg txhob txwm tshaj tawm qhov teeb meem ntawm kev sib txuas lus zoo. Thaum lub Yim Hli, nws tau pom tseeb tias qhov no tsis tuaj yeem txuas ntxiv mus, thiab peb tau tshaj tawm cov kev taw qhia cais los txiav txim seb qhov twg yog qhov tsis raug nrog WebRTC thiab Janus.

Ntawm qhov kev tawm tswv yim, cov lus qhia no tau txais: kev daws teeb meem MVP, tsis muaj kev ntsuas, tsis muaj lub hom phiaj, tsis muaj kev txhim kho, thaum 7% ntawm cov kws qhia ntawv yws txog kev sib txuas lus zoo (tsis muaj ntaub ntawv ntawm cov tub ntxhais kawm ib yam).

Los ntawm Skype rau WebRTC: yuav ua li cas peb teeb tsa kev sib txuas lus video ntawm lub vev xaib

Txoj kev taw qhia tshiab tab tom ua

Cov lus txib zoo li no:

  • Tus thawj coj ntawm lub tuam tsev, uas kuj yog tus tsim lub ntsiab.
  • QA pab ntsuas kev hloov pauv, nrhiav txoj hauv kev tshiab los tsim kev sib txuas lus tsis ruaj khov, thiab tshaj tawm cov teeb meem los ntawm kab hauv ntej.
  • Tus kws tshuaj ntsuam xyuas tas li saib rau ntau yam kev sib raug zoo hauv cov ntaub ntawv thev naus laus zis, txhim kho kev txheeb xyuas ntawm cov neeg siv tswv yim, thiab tshawb xyuas cov txiaj ntsig ntawm kev sim.
  • Tus tswj xyuas cov khoom pab nrog tag nrho cov kev taw qhia thiab faib cov peev txheej rau kev sim.
  • Tus tsim tawm thib ob feem ntau pab nrog kev ua haujlwm thiab lwm yam haujlwm.

Yuav pib nrog, peb teeb tsa ib qho kev ntsuas kev ntseeg siab uas tau taug qab cov kev hloov pauv hauv kev ntsuas kev sib txuas lus zoo (nruab nrab hnub, lis piam, hli). Lub sijhawm ntawd, cov no yog qib los ntawm cov kws qhia ntawv; tom qab cov qhab nia los ntawm cov tub ntxhais kawm tau ntxiv rau lawv. Tom qab ntawd lawv tau pib tsim cov kev xav txog qhov ua haujlwm tsis raug, kho nws, thiab saib cov kev hloov pauv hauv kev hloov pauv. Peb mus rau cov txiv hmab txiv ntoo qis qis: piv txwv li, peb hloov lub vp8 codec nrog vp9, qhov kev ua tau zoo tuaj. Peb sim ua si nrog Janus chaw thiab ua lwm yam kev sim - feem ntau lawv tsis ua rau muaj dab tsi.

Nyob rau theem ob, qhov kev xav tau tshwm sim: WebRTC yog kev daws teeb meem rau cov phooj ywg, thiab peb siv lub server hauv nruab nrab. Tej zaum qhov teeb meem nyob ntawm no? Peb pib khawb thiab pom qhov kev txhim kho tseem ceeb tshaj plaws kom deb li deb.

Lub sijhawm ntawd, tus neeg rau zaub mov los ntawm lub pas dej tau raug xaiv los ntawm kev siv cov txheej txheem ruam ruam: txhua tus muaj nws tus kheej "qhov hnyav", nyob ntawm cov channel thiab lub zog, thiab peb tau sim xa tus neeg siv mus rau qhov loj tshaj "qhov hnyav", tsis muaj. them nyiaj rau qhov chaw uas tus neeg siv tau nyob hauv thaj chaw. Yog li ntawd, tus kws qhia ntawv ntawm St. Petersburg tuaj yeem sib txuas lus nrog cov tub ntxhais kawm los ntawm Siberia los ntawm Moscow, thiab tsis yog los ntawm peb cov neeg rau zaub mov Janus hauv St.

Lub algorithm tau rov ua dua: tam sim no, thaum tus neeg siv qhib peb lub platform, peb sau pings los ntawm nws mus rau txhua tus servers siv Ajax. Thaum tsim kom muaj kev sib txuas, peb xaiv ib khub pings (tus kws qhia ntawv-neeg rau zaub mov thiab tub-ntxhais kawm ntawv-neeg rau zaub mov) nrog tus nqi tsawg tshaj plaws. Tsawg ping txhais tau tias tsawg dua network nrug rau tus neeg rau zaub mov; luv luv luv txhais tau tias tsawg dua qhov yuav poob pob ntawv; Pob ntawv poob yog qhov tsis zoo tshaj plaws hauv kev sib txuas lus video. Qhov sib faib ntawm qhov tsis zoo poob los ntawm ib nrab hauv peb lub hlis (kom ncaj ncees, lwm yam kev sim tau ua nyob rau lub sijhawm no, tab sis qhov no yuav luag muaj feem cuam tshuam ntau tshaj).

Los ntawm Skype rau WebRTC: yuav ua li cas peb teeb tsa kev sib txuas lus video ntawm lub vev xaib

Los ntawm Skype rau WebRTC: yuav ua li cas peb teeb tsa kev sib txuas lus video ntawm lub vev xaib

Peb tsis ntev los no tau pom lwm qhov tsis pom tseeb, tab sis pom tseeb qhov tseem ceeb: tsis yog ib qho muaj zog Janus server ntawm cov channel tuab, nws zoo dua kom muaj ob qhov yooj yim dua nrog cov bandwidth thinner. Qhov no tau pom tseeb tom qab peb yuav cov tshuab muaj zog nyob rau hauv kev cia siab ntawm cramming ntau chav (kev sib txuas lus) rau hauv lawv tib lub sijhawm. Cov servers muaj qhov txwv bandwidth, uas peb tuaj yeem txhais tau raws li cov chav tsev - peb paub tias muaj pes tsawg tus tuaj yeem qhib, piv txwv li, ntawm 300 Mbit / s. Thaum muaj ntau chav qhib rau ntawm tus neeg rau zaub mov, peb nres xaiv nws rau kev ua ub no kom txog thaum lub load txo. Lub tswv yim yog tias, tau yuav lub tshuab muaj zog, peb yuav thauj cov channel mus rau qhov siab tshaj plaws, yog li ntawd thaum kawg nws yuav raug txwv los ntawm processor thiab nco, thiab tsis yog bandwidth. Tab sis nws tau muab tawm tias tom qab qee tus naj npawb ntawm cov chav qhib (420), txawm tias qhov tseeb tias cov khoom thauj ntawm lub processor, nco thiab disk tseem nyob deb ntawm qhov txwv, qhov tsis zoo pib tuaj txog ntawm kev txhawb nqa. Thaj, ib yam dab tsi zuj zus nyob rau hauv Janus, tej zaum muaj qee qhov kev txwv nyob ntawd thiab. Peb pib sim, txo qis bandwidth txwv los ntawm 300 mus rau 200 Mbit / s, thiab cov teeb meem tau ploj mus. Tam sim no peb yuav peb lub servers tshiab ib zaug nrog cov kev txwv qis thiab cov yam ntxwv, peb xav tias qhov no yuav ua rau muaj kev txhim kho ruaj khov hauv kev sib txuas lus zoo. Tau kawg, peb tsis tau sim los txiav txim seb dab tsi tshwm sim nyob rau ntawd; peb cov cuab yeej yog txhua yam. Hauv peb qhov kev tiv thaiv, cia peb hais tias lub sijhawm ntawd nws yog qhov tsim nyog los daws qhov teeb meem nrawm li sai tau, thiab tsis txhob ua kom zoo nkauj; Tsis tas li ntawd, Janus rau peb yog lub thawv dub sau rau hauv C, nws kim heev rau tinker nrog nws.

Los ntawm Skype rau WebRTC: yuav ua li cas peb teeb tsa kev sib txuas lus video ntawm lub vev xaib

Zoo, nyob rau hauv tus txheej txheem peb:

  • hloov kho txhua qhov kev cia siab uas tuaj yeem hloov kho, ob qho tib si ntawm lub server thiab ntawm tus neeg siv khoom (cov no kuj yog kev sim, peb tau saib xyuas cov txiaj ntsig);
  • kho tag nrho cov kab mob uas tau txheeb xyuas txog cov xwm txheej tshwj xeeb, piv txwv li, thaum qhov kev sib txuas poob thiab tsis rov qab los;
  • Peb tau tuav ntau lub rooj sib tham nrog cov tuam txhab ua haujlwm hauv kev sib txuas lus video thiab paub txog peb cov teeb meem: streaming games, teeb tsa webinars; peb sim txhua yam uas zoo li muaj txiaj ntsig rau peb;
  • Ua ib qho kev tshuaj xyuas txog kev kho vajtse thiab kev sib txuas lus zoo ntawm cov kws qhia ntawv, los ntawm cov neeg tsis txaus siab feem ntau tuaj.

Cov kev sim thiab cov kev hloov pauv tom ntej no tau ua rau txo qis kev tsis txaus siab ntawm kev sib txuas lus ntawm cov kws qhia ntawv los ntawm 7,1% hauv Lub Ib Hlis 2018 txog 2,5% thaum Lub Ib Hlis 2019.

Dab tsi ntxiv

Stabilizing peb Vimbox platform yog ib lub tuam txhab cov haujlwm tseem ceeb rau 2019. Peb muaj kev cia siab siab tias peb yuav muaj peev xwm tswj tau lub zog thiab tsis pom kev sib txuas lus hauv video hauv cov lus tsis txaus siab saum toj kawg nkaus. Peb nkag siab tias ib feem tseem ceeb ntawm cov kev tsis txaus siab no muaj feem xyuam nrog kev lag luam hauv cov neeg siv computers thiab Is Taws Nem, tab sis peb yuav tsum txiav txim siab txog qhov no thiab daws qhov seem. Txhua yam yog qhov teeb meem technical, zoo li peb yuav tsum muaj peev xwm tiv nrog nws.

Qhov teeb meem tseem ceeb yog tias peb tsis paub txog qib twg nws yog qhov ua tau los txhim kho qhov zoo. Nrhiav kom paub lub qab nthab no yog lub luag haujlwm tseem ceeb. Yog li ntawd, ob qho kev sim tau npaj tseg:

  1. piv cov yees duab ntawm Janus nrog p2p li niaj zaus hauv kev sib ntaus sib tua. Qhov kev sim no twb tau ua tiav lawm, tsis pom qhov sib txawv tseem ceeb ntawm peb cov tshuaj thiab p2p;
  2. Cia peb muab cov kev pabcuam (khoom kim heev) los ntawm cov tuam txhab uas tau txais nyiaj tshwj xeeb ntawm kev sib txuas lus video, thiab sib piv cov nyiaj tsis zoo los ntawm lawv nrog cov uas twb muaj lawm.

Ob qhov kev sim no yuav tso cai rau peb txheeb xyuas lub hom phiaj ua tiav thiab tsom mus rau nws.

Tsis tas li ntawd, muaj ntau txoj haujlwm uas tuaj yeem daws tau raws sijhawm:

  • Peb tsim ib tug technical metric ntawm kev sib txuas lus zoo es tsis txhob ntawm subjective tshuaj xyuas;
  • Peb ua cov ntaub ntawv ntxaws ntxaws ntxiv txhawm rau txhawm rau txheeb xyuas qhov ua tsis tiav uas tshwm sim, nkag siab thaum twg thiab qhov twg raws nraim lawv tau tshwm sim, thiab qhov xwm txheej zoo li tsis cuam tshuam tau tshwm sim thaum lub sijhawm ntawd;
  • Peb npaj qhov kev ntsuam xyuas tsis siv neeg txuas zoo ua ntej zaj lus qhia, thiab tseem muab sijhawm rau cov neeg siv khoom los ntsuas qhov kev sib txuas ntawm tes kom txo tau qhov tsis zoo los ntawm nws cov khoom siv thiab cov channel;
  • peb yuav tsim thiab ua ntau dua kev sib txuas lus video load xeem nyob rau hauv tej yam kev mob tsis zoo, nrog txawv txawv pob ntawv poob, thiab lwm yam .;
  • peb hloov tus cwj pwm ntawm cov servers nyob rau hauv cov ntaub ntawv ntawm cov teeb meem kom ua txhaum cai;
  • Peb yuav ceeb toom rau tus neeg siv yog tias muaj ib yam dab tsi tsis ncaj ncees lawm nrog nws txoj kev sib txuas ntawm txhua qhov, zoo li Skype ua, kom nws nkag siab tias qhov teeb meem nyob ntawm nws sab.

Txij li thaum lub Plaub Hlis, cov kev taw qhia kev sib txuas lus video tau dhau los ua ib qho kev sib cais tag nrho hauv Skyeng, cuam tshuam nrog nws tus kheej cov khoom, tsis yog ib feem ntawm Vimbox. Qhov no txhais tau hais tias peb tab tom nrhiav rau cov neeg ua haujlwm nrog video hauv hom puv sijhawm. Zoo, raws li ib txwm Peb tab tom nrhiav ntau tus neeg zoo.

Thiab, tau kawg, peb txuas ntxiv mus txuas lus nrog tib neeg thiab cov tuam txhab ua haujlwm nrog kev sib txuas lus video. Yog tias koj xav sib pauv kev paub nrog peb, peb yuav zoo siab! Tawm tswv yim, tau txais kev sib cuag - peb yuav teb txhua tus.

Tau qhov twg los: www.hab.com