Daga Skype zuwa WebRTC: yadda muka tsara sadarwar bidiyo ta yanar gizo

Daga Skype zuwa WebRTC: yadda muka tsara sadarwar bidiyo ta yanar gizo

Sadarwar bidiyo ita ce babbar hanyar sadarwa tsakanin malami da dalibi akan dandalin Vimbox. Mun bar Skype da dadewa, mun gwada mafita na ɓangare na uku da yawa kuma a ƙarshe mun daidaita akan haɗin WebRTC - Janus-gateway. Na ɗan lokaci muna farin ciki da komai, amma har yanzu wasu abubuwa marasa kyau sun ci gaba da fitowa. A sakamakon haka, an ƙirƙiri hanyar bidiyo daban.

Na tambayi Kirill Rogovoy, shugaban sabon shugabanci, don yin magana game da juyin halitta na sadarwar bidiyo a Skyeng, matsalolin da aka gano, mafita da kullun da muka yi amfani da su a ƙarshe. Muna fatan labarin zai kasance da amfani ga kamfanoni waɗanda kuma ke ƙirƙirar bidiyo da kansu ta hanyar aikace-aikacen yanar gizo.

A bit of history

A lokacin rani na 2017, shugaban Skyeng Development Sergey Safonov, ya yi magana a Backend Conf tare da wani labari game da yadda muka "yi watsi da Skype da aiwatar da WebRTC." Masu sha'awar za su iya kallon rikodin jawabin a mahada (~ 45 min), kuma a nan zan ɗan fayyace ainihin ainihin sa.

Ga Makarantar Skyeng, sadarwar bidiyo ta kasance hanya mafi fifiko ta sadarwar malami-dalibi. Da farko, an yi amfani da Skype, amma bai gamsu ba saboda wasu dalilai, musamman saboda rashin rajistan ayyukan da kuma rashin yiwuwar haɗa kai tsaye a cikin aikace-aikacen yanar gizo. Saboda haka, mun gudanar da gwaje-gwaje iri-iri.

A haƙiƙa, buƙatunmu don sadarwar bidiyo sun kasance kamar haka:
- kwanciyar hankali;
- ƙananan farashin kowane darasi;
- darussan rikodin;
- bin diddigin wanda ya yi magana nawa (yana da mahimmanci a gare mu cewa ɗalibai su yi magana fiye da malami yayin darussan);
- linzamin kwamfuta;
- ikon yin amfani da duka UDP da TCP.

Na farko da aka gwada shine aiwatar da Tokbox a cikin 2013. Komai yana da kyau, amma ya juya ya zama tsada sosai - 113 rubles da darasi - kuma ya cinye riba.

Sannan a cikin 2015, an haɗa Voximplant. A nan ne aikin da muke buƙatar waƙa wanda ya yi magana nawa, kuma a lokaci guda mafita ya fi rahusa: idan an yi rikodin sauti kawai, farashin 20 rubles da darasi. Koyaya, kawai yayi aiki ta hanyar UDP kuma ba zai iya canzawa zuwa TCP ba. Koyaya, kusan kashi 40% na ɗalibai sun ƙare amfani da shi.

Bayan shekara guda, mun fara samun abokan cinikin kamfanoni tare da takamaiman bukatunsu. Misali, komai ya kamata ya yi aiki ta hanyar burauza, kamfani yana buɗe http da https kawai; watau babu Skype ko UDP. Abokan ciniki = kuɗi, don haka sun koma Tokbox, amma matsalar farashin bai tafi ba.

Magani - WebRTC da Janus

An yanke shawarar amfani dandali mai bincike don sadarwar bidiyo ta tsara-zuwa-tsara WebRTC. Ita ce ke da alhakin kafa haɗin kai, sanya rikodi da rarrabuwar rafuka, daidaita waƙoƙi da sarrafa inganci tare da sarrafa glitches na cibiyar sadarwa. A namu bangaren, dole ne mu tabbatar da karanta rafi daga kamara da makirufo, zana bidiyo, sarrafa haɗin gwiwa, kafa haɗin yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon yanar gizon , da kuma aika da rafuka zuwa gare ta , da kuma aika sakonnin sigina tsakanin abokan ciniki don kafa haɗin gwiwa (WebRTC kanta ta bayyana kawai tsarin bayanai, amma ba tsarinsa ba). Idan abokan ciniki suna bayan NAT, WebRTC yana haɗa sabobin STUN; idan wannan bai taimaka ba, JUYA sabobin.

Haɗin p2p na yau da kullun bai ishe mu ba, saboda muna son yin rikodin darussan don ƙarin bincike idan akwai gunaguni. Don haka muna aika rafukan WebRTC ta hanyar relay Janus Gateway ta Meetecho. A sakamakon haka, abokan ciniki ba su san adireshin juna ba, ganin adireshin uwar garken Janus kawai; yana kuma yin ayyukan uwar garken sigina. Janus yana da yawancin fasalulluka da muke buƙata: canzawa ta atomatik zuwa TCP idan abokin ciniki ya katange UDP; na iya yin rikodin duka rafukan UDP da TCP; m; Akwai ma ginanniyar plugin ɗin don gwajin echo. Idan ya cancanta, STUN da TURN sabobin daga Twilio suna haɗe ta atomatik.

A lokacin rani na 2017, muna da sabobin Janus guda biyu suna gudana, da ƙarin sabar don sarrafa albarkatun sauti da fayilolin bidiyo da aka yi rikodi, don kada mu mamaye na'urori masu sarrafawa na manyan. Lokacin da ake haɗawa, an zaɓi sabar Janus akan wani sabani-ko da (lambar haɗi). A wannan lokacin, wannan ya isa, bisa ga yadda muke ji, ya ba da kimanin nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i) nau'i-nau'i.

Daga Skype zuwa WebRTC: yadda muka tsara sadarwar bidiyo ta yanar gizo

Komawa kan batun sadarwar bidiyo

Muna sa ido akai-akai game da martani daga ɗalibai da malamai don ganowa da gyara matsalolin cikin lokaci. A lokacin bazara na 2018, ingancin kira ya kasance da ƙarfi a wuri na farko tsakanin gunaguni. A gefe guda, wannan yana nufin cewa mun yi nasarar shawo kan wasu kurakurai. A gefe guda kuma, ya zama dole a yi wani abu cikin gaggawa: idan darasin ya lalace, muna haɗarin rasa ƙimarsa, wani lokacin tare da farashin siyan fakiti na gaba, kuma idan darasin gabatarwa ya rushe, muna haɗarin rasa abokin ciniki mai yiwuwa. gaba daya.

A lokacin, sadarwar mu ta bidiyo har yanzu tana cikin yanayin MVP. A sauƙaƙe, sun ƙaddamar da shi, yana aiki, sun haɓaka shi sau ɗaya, sun fahimci yadda ake yin shi - da kyau, mai girma. Idan yana aiki, kar a gyara shi. Babu wanda ya yi magana da gangan game da ingancin sadarwa. A watan Agusta, ya bayyana a fili cewa wannan ba zai iya ci gaba ba, kuma mun ƙaddamar da wata hanya ta daban don gano abin da ke damun WebRTC da Janus.

A shigarwar, wannan jagorar ya karbi: bayani na MVP, babu ma'auni, babu burin, babu matakai don ingantawa, yayin da 7% na malamai suna koka game da ingancin sadarwa (babu bayanai akan dalibai ko dai).

Daga Skype zuwa WebRTC: yadda muka tsara sadarwar bidiyo ta yanar gizo

Wani sabon alkibla yana gudana

Umurnin yayi kama da haka:

  • Shugaban sashin, wanda kuma shine babban mai haɓakawa.
  • QA yana taimakawa gwada canje-canje, yana neman sabbin hanyoyi don ƙirƙirar yanayin sadarwa mara kyau, kuma yana ba da rahoton matsaloli daga layin gaba.
  • Manazarci koyaushe yana neman alaƙa daban-daban a cikin bayanan fasaha, yana haɓaka nazarin ra'ayoyin mai amfani, da bincika sakamakon gwaje-gwaje.
  • Manajan samfurin yana taimakawa tare da gaba ɗaya jagora da rarraba albarkatu don gwaje-gwaje.
  • Mai haɓakawa na biyu yakan taimaka tare da shirye-shirye da ayyuka masu alaƙa.

Da farko, mun kafa ingantacciyar ma'auni mai dogaro wanda ke bin sauye-sauye a kimanta ingancin sadarwa (matsakaicin tsawon kwanaki, makonni, watanni). A lokacin, wadannan maki ne daga malamai, daga baya aka kara musu maki daga dalibai. Daga nan sai suka fara gina hasashe game da abin da ke aiki ba daidai ba, gyara shi, da duban canje-canje a cikin motsi. Mun je ga ƙananan 'ya'yan itace: alal misali, mun maye gurbin vp8 codec tare da vp9, aikin ya inganta. Mun yi ƙoƙarin yin wasa tare da saitunan Janus kuma mun gudanar da wasu gwaje-gwajen - a mafi yawan lokuta ba su kai ga komai ba.

A mataki na biyu, hasashe ya bayyana: WebRTC shine mafita na tsara-da-tsara, kuma muna amfani da sabar a tsakiya. Wataƙila matsalar ta ta'allaka ne a nan? Mun fara tono kuma mun sami ci gaba mafi mahimmanci ya zuwa yanzu.

A wannan lokacin, an zaɓi uwar garken daga tafkin ta amfani da algorithm mara kyau: kowannensu yana da nasa "nauyin", dangane da tashar da iko, kuma mun yi ƙoƙarin aika mai amfani zuwa ga wanda yake da "nauyin" mafi girma, ba tare da yin amfani da shi ba. mai da hankali ga inda mai amfani ya kasance a yanayin ƙasa. A sakamakon haka, wani malami daga St.

An sake gyara algorithm: yanzu, lokacin da mai amfani ya buɗe dandalinmu, muna tattara pings daga gare shi zuwa duk sabobin ta amfani da Ajax. Lokacin kafa haɗin kai, muna zaɓar nau'ikan pings (malami-uwar garken da uwar garken ɗalibi) tare da ƙaramin adadin. Ƙananan ping yana nufin ƙarancin nisan cibiyar sadarwa zuwa uwar garken; gajeren nisa yana nufin ƙananan yuwuwar asarar fakiti; Asarar fakiti shine babban mummunan abu a cikin sadarwar bidiyo. Rabon rashin ƙarfi ya faɗi da rabi a cikin watanni uku (don zama gaskiya, an gudanar da wasu gwaje-gwajen a wannan lokacin, amma wannan kusan tabbas ya fi tasiri).

Daga Skype zuwa WebRTC: yadda muka tsara sadarwar bidiyo ta yanar gizo

Daga Skype zuwa WebRTC: yadda muka tsara sadarwar bidiyo ta yanar gizo

Kwanan nan mun gano wani abin da ba a bayyane yake ba, amma a fili yana da mahimmanci: maimakon uwar garken Janus ɗaya mai ƙarfi akan tashar mai kauri, yana da kyau a sami mafi sauƙi guda biyu tare da ƙaramin bandwidth. Wannan ya bayyana a fili bayan mun sayi injuna masu ƙarfi da fatan murkushe ɗakuna da yawa (zaman sadarwa) a cikin su a lokaci guda. Sabar suna da iyakar bandwidth, wanda za mu iya fassara daidai cikin adadin dakuna - mun san adadin da za a iya buɗewa, misali, a 300 Mbit/s. Da zaran akwai dakuna da yawa da aka buɗe akan uwar garken, za mu daina zaɓar shi don sabbin ayyuka har sai nauyin ya ragu. Manufar ita ce, bayan sayen na'ura mai ƙarfi, za mu ɗora tashar tashar zuwa iyakarta, ta yadda a ƙarshe za a iyakance shi ta hanyar sarrafawa da ƙwaƙwalwar ajiya, kuma ba ta hanyar bandwidth ba. Amma ya juya daga cewa bayan wani adadin bude dakuna (420), duk da cewa da load a kan processor, memory da kuma faifai ne har yanzu sosai da nisa daga iyaka, negativity fara isa a fasaha goyon baya. A bayyane yake, wani abu yana ƙara yin muni a cikin Janus, wataƙila akwai wasu hani a can ma. Mun fara gwaji, mun saukar da iyakar bandwidth daga 300 zuwa 200 Mbit/s, kuma matsalolin sun tafi. Yanzu mun sayi sabbin sabobin guda uku a lokaci guda tare da ƙananan iyaka da halaye, muna tsammanin wannan zai haifar da ingantaccen ingantaccen ingancin sadarwa. Hakika, ba mu yi ƙoƙari mu gano abin da ke faruwa a can ba; kullun mu shine komai. A cikin tsaronmu, bari mu ce a wannan lokacin ya zama dole a magance matsalar matsananciyar sauri da sauri, kuma kada a yi shi da kyau; Ban da haka, Janus a gare mu baƙar fata ne da aka rubuta a cikin C, yana da tsada sosai don tinker da shi.

Daga Skype zuwa WebRTC: yadda muka tsara sadarwar bidiyo ta yanar gizo

To, a cikin tsari muna:

  • sabunta duk abin dogara da za a iya sabuntawa, duka a kan uwar garke da kuma a kan abokin ciniki (waɗannan ma gwaje-gwaje ne, mun lura da sakamakon);
  • gyara duk kurakuran da aka gano masu alaƙa da takamaiman lokuta, misali, lokacin da haɗin ya faɗi kuma ba a dawo da shi ta atomatik ba;
  • Mun gudanar da tarurruka da yawa tare da kamfanonin da ke aiki a fagen sadarwar bidiyo da kuma saba da matsalolinmu: wasanni masu gudana, tsara shafukan yanar gizo; mun gwada duk abin da ya zama mai amfani a gare mu;
  • An gudanar da bita na fasaha na kayan aiki da ingancin sadarwa na malamai, wanda mafi yawan korafin ya fito.

Gwaje-gwajen da canje-canjen da aka yi sun ba da damar rage rashin gamsuwa da sadarwa tsakanin malamai daga kashi 7,1% a cikin Janairu 2018 zuwa 2,5% a cikin Janairu 2019.

Menene gaba

Tabbatar da dandalinmu na Vimbox shine ɗayan manyan ayyukan kamfanin na 2019. Muna da babban bege cewa za mu iya ci gaba da ci gaba da kuma daina ganin sadarwar bidiyo a cikin manyan korafe-korafe. Mun fahimci cewa wani muhimmin bangare na waɗannan korafe-korafen yana da alaƙa da kwamfutocin masu amfani da Intanet, amma dole ne mu ƙayyade wannan ɓangaren kuma mu warware sauran. Komai sauran matsala ce ta fasaha, da alama ya kamata mu iya jurewa.

Babban wahala shi ne cewa ba mu san ko wane matakin zai iya yiwuwa a inganta inganci ba. Gano wannan rufin shine babban aiki. Don haka, an tsara gwaje-gwaje guda biyu:

  1. kwatanta bidiyo ta Janus tare da p2p na yau da kullun a cikin yanayin fama. An riga an yi wannan gwajin, ba a sami wani bambanci mai mahimmanci tsakanin maganin mu da p2p;
  2. Bari mu samar da ayyuka (tsada) daga kamfanonin da ke samun kuɗi na musamman kan hanyoyin sadarwar bidiyo, kuma mu kwatanta adadin rashin ƙarfi daga gare su da wanda ke akwai.

Waɗannan gwaje-gwaje guda biyu za su ba mu damar gano burin da za a iya cimma kuma mu mai da hankali a kai.

Bugu da ƙari, akwai ayyuka da yawa waɗanda za a iya magance su akai-akai:

  • Muna ƙirƙira ma'aunin fasaha na ingancin sadarwa maimakon bita na zahiri;
  • Muna yin ƙarin dalla-dalla dalla-dalla don yin nazarin gazawar da ta faru, fahimtar lokacin da ainihin lokacin da suka faru, da kuma abubuwan da alama ba su da alaƙa da abubuwan da suka faru a lokacin;
  • Muna shirya gwajin ingancin haɗin kai ta atomatik kafin darasi, kuma muna ba abokin ciniki damar gwada haɗin da hannu don rage yawan rashin ƙarfi da kayan masarufi da tashar sa ke haifarwa;
  • za mu haɓaka da gudanar da ƙarin gwaje-gwajen lodin sadarwar bidiyo a cikin yanayi mara kyau, tare da asarar fakiti mai canzawa, da sauransu;
  • muna canza halayen sabobin idan akwai matsaloli don ƙara yawan haƙuri;
  • Za mu faɗakar da mai amfani idan akwai wani abu da ba daidai ba game da haɗin gwiwarsa kwata-kwata, kamar yadda Skype ke yi, don ya fahimci cewa matsalar tana gefensa.

Tun daga watan Afrilu, jagoran sadarwar bidiyo ya zama cikakken tsari daban-daban a cikin Skyeng, yana hulɗa da samfurin kansa, ba kawai wani ɓangare na Vimbox ba. Wannan yana nufin cewa mun fara neman mutane aiki tare da bidiyo a cikin cikakken lokaci yanayin. To, kamar kullum Muna neman mutanen kirki da yawa.

Kuma, ba shakka, muna ci gaba da sadarwa tare da mutane da kamfanoni masu aiki tare da sadarwar bidiyo. Idan kuna son musayar kwarewa tare da mu, za mu yi farin ciki! Yi sharhi, tuntuɓi - za mu amsa kowa.

source: www.habr.com