Avy amin'ny Skype mankany amin'ny WebRTC: ny fomba nandaminanay fifandraisana video tamin'ny alàlan'ny Internet

Avy amin'ny Skype mankany amin'ny WebRTC: ny fomba nandaminanay fifandraisana video tamin'ny alàlan'ny Internet

Ny fifandraisana amin'ny horonan-tsary no fomba lehibe indrindra hifandraisana amin'ny mpampianatra sy ny mpianatra amin'ny sehatra Vimbox. Efa ela izahay no nandao ny Skype, nanandrana vahaolana avy amin'ny antoko fahatelo ary nanorim-ponenana tamin'ny WebRTC - Janus-gateway combination. Nandritra ny fotoana ela dia faly tamin'ny zava-drehetra izahay, saingy mbola nisy lafin-javatra ratsy nipoitra hatrany. Vokatr'izany dia nisy toromarika video mitokana.

Nanontany an'i Kirill Rogovoy aho, lehiben'ny tari-dalana vaovao, hiresaka momba ny fivoaran'ny fifandraisana an-dahatsary ao amin'ny Skyeng, ireo olana hita, vahaolana ary tehina izay nampiasainay tamin'ny farany. Manantena izahay fa ny lahatsoratra dia ho ilaina ho an'ny orinasa izay ihany koa ny mamorona lahatsary ho azy ireo amin'ny alalan'ny tranonkala fampiharana.

Tantaran'ny tantara

Tamin'ny fahavaratry ny taona 2017, niresaka tao amin'ny Backend Conf ny lehiben'ny fampandrosoana Skyeng, Sergey Safonov, niaraka tamin'ny tantara iray momba ny “nandao ny Skype sy ny fampiharana ny WebRTC.” Afaka mijery ny firaketana ny lahateny ao amin'ny rohy (~45 min), ary eto aho dia hanasongadina fohy ny maha-zava-dehibe azy io.

Ho an'ny Skyeng School, ny fifandraisana amin'ny horonan-tsary dia fomba laharam-pahamehana amin'ny fifandraisan'ny mpampianatra sy ny mpianatra. Tamin'ny voalohany, Skype no nampiasaina, saingy tsy dia nahafa-po noho ny antony maromaro, indrindra noho ny tsy fisian'ny logs sy ny tsy fahafahana miditra mivantana amin'ny fampiharana tranonkala. Noho izany, nanao andrana isan-karazany izahay.

Raha ny marina, ny fepetra takianay amin'ny fifandraisana amin'ny horonan-tsary dia manodidina ny manaraka:
— fahamarinan-toerana;
- vidiny ambany isaky ny lesona;
- firaketana lesona;
— fanaraha-maso hoe iza no miteny (zava-dehibe ho antsika ny miteny bebe kokoa ny mpianatra noho ny mpampianatra mandritra ny lesona);
- scaling linear;
- fahafahana mampiasa UDP sy TCP.

Ny voalohany nanandrana dia ny fampiharana Tokbox tamin'ny 2013. Tsara ny zava-drehetra, saingy lafo be izany - 113 roubles isaky ny lesona - ary nandany ny tombony.

Avy eo tamin'ny taona 2015 dia nampidirina ny Voximplant. Ity ny asa ilaintsika mba hanaraha-maso izay niteny hoe ohatrinona, ary tamin'izany fotoana izany dia mora kokoa ny vahaolana: raha ny feo ihany no voarakitra dia 20 roubles isaky ny lesona. Na izany aza, tamin'ny alalan'ny UDP ihany no niasa ary tsy afaka nivadika tamin'ny TCP. Na izany aza, manodidina ny 40% amin'ny mpianatra no nampiasa izany.

Herintaona taty aoriana, nanomboka nanana mpanjifa orinasa manana ny fepetra takian'izy ireo manokana izahay. Ohatra, ny zava-drehetra dia tokony hiasa amin'ny alalan'ny navigateur, ny orinasa ihany no manokatra http sy https; izany hoe tsy misy Skype na UDP. Mpanjifa orinasa = vola, ka niverina tany amin'ny Tokbox, fa ny olan'ny vidiny tsy niala.

Vahaolana - WebRTC sy Janus

Nanapa-kevitra ny hampiasa sehatra mpitety tranonkala ho an'ny fifandraisana amin'ny vidéo peer-to-peer WebRTC. Izy io dia tompon'andraikitra amin'ny fametrahana fifandraisana, famadihana ary decoding stream, fampifanarahana ny lalana sy ny fanaraha-maso ny kalitao miaraka amin'ny fiatrehana ny olana amin'ny tambajotra. Ho an'ny anjarantsika dia tsy maintsy miantoka ny famakiana ny renirano avy amin'ny fakantsary sy ny mikrofona, ny fanaovana sary, ny fitantanana ny fifandraisana, ny fametrahana fifandraisana amin'ny WebRTC ary ny fampitana ny stream amin'izany, ary koa ny fandefasana hafatra famantarana eo amin'ny mpanjifa mba hametrahana fifandraisana (WebRTC ihany no mamaritra ny format data, fa tsy ny famindrana mekanika azy). Raha ao ambadiky ny NAT ny mpanjifa, WebRTC dia mampifandray ireo mpizara STUN; raha tsy manampy izany, dia TURN ireo mpizara.

Tsy ampy ho anay ny connexion p2p tsy tapaka, satria te handrakitra lesona ho an'ny fanadihadiana fanampiny izahay raha misy fitarainana. Noho izany dia mandefa stream WebRTC amin'ny alalan'ny fampitana Janus Gateway nataon'i Meetecho. Vokatr'izany dia tsy mifankahalala ny adiresin'ny mpanjifa, tsy mahita afa-tsy ny adiresin'ny mpizara Janus; izy io koa dia manatanteraka ny asan'ny mpizara famantarana. Manana endri-javatra maro ilaintsika i Janus: mivadika ho TCP ho azy raha toa ka voasakana ny UDP ny mpanjifa; afaka mirakitra ny renirano UDP sy TCP; scalable; Misy mihitsy aza ny plugin naorina ho an'ny fitsapana ako. Raha ilaina dia mifandray ho azy ny mpizara STUN sy TURN avy amin'i Twilio.

Tamin'ny fahavaratry ny taona 2017, nanana mpizara Janus roa izahay, miampy mpizara fanampiny ho an'ny fanodinana raki-peo sy horonan-tsary manta voarakitra, mba tsy hibodo ny processeurs amin'ireo lehibe indrindra. Rehefa mifandray, dia nofantenana amin'ny fototra hafahafa (laharan'ny fifandraisana) ireo mpizara Janus. Tamin'izany fotoana izany, dia ampy izany, araka ny fihetseham-pontsika, nanome teo amin'ny efatra heny eo amin'ny sisin'ny fiarovana, ny isan-jaton'ny fampiharana dia tokony ho 80. Nandritra izany fotoana izany, ny vidiny dia nihena ho ~ 2 roubles isaky ny lesona, miampy ny fampandrosoana sy ny fanohanana.

Avy amin'ny Skype mankany amin'ny WebRTC: ny fomba nandaminanay fifandraisana video tamin'ny alàlan'ny Internet

Miverina amin'ny lohahevitra momba ny fifandraisana amin'ny video

Manara-maso tsy tapaka ny valin-tenin'ny mpianatra sy ny mpampianatra izahay mba hamantarana sy hanitsiana ny olana ara-potoana. Tamin'ny fahavaratry ny taona 2018 dia nitana toerana voalohany teo amin'ny fitarainana ny kalitaon'ny antso. Amin'ny lafiny iray, izany dia midika fa nahavita nandresy ny lesoka hafa izahay. Amin'ny lafiny iray, ilaina ny manao zavatra maika: raha mikorontana ny lesona, dia mety ho very ny lanjany, indraindray miaraka amin'ny vidin'ny fividianana ny fonosana manaraka, ary raha tapaka ny lesona fampidirana, dia mety ho very ny mpanjifa mety hitranga. tanteraka.

Tamin'izany fotoana izany dia mbola tao amin'ny fomba MVP ny fifandraisana amin'ny vidéo. Raha tsorina, dia nandefa izany izy ireo, nandaitra izany, nampitombo azy indray mandeha, azony ny fomba hanaovana izany - tsara, tsara. Raha miasa izy dia aza amboary. Tsy nisy ninia niresaka momba ny kalitaon'ny fifandraisana. Tamin'ny volana aogositra dia nanjary nazava fa tsy afaka nitohy izany, ary nanangana toromarika misaraka izahay mba hamantarana ny tsy mety amin'ny WebRTC sy Janus.

Tamin'ny fampidirana, ity torolalana ity dia nahazo: vahaolana MVP, tsy misy metrika, tsy misy tanjona, tsy misy dingana ho fanatsarana, raha ny 7% amin'ny mpampianatra no mitaraina momba ny kalitaon'ny fifandraisana (tsy misy angona momba ny mpianatra ihany koa).

Avy amin'ny Skype mankany amin'ny WebRTC: ny fomba nandaminanay fifandraisana video tamin'ny alàlan'ny Internet

Misy tari-dalana vaovao

Toy izao ny baiko:

  • Ny lehiben’ny sampan-draharaha, izay tena mpamorona ihany koa.
  • Ny QA dia manampy amin'ny fanovana fitsapana, mitady fomba vaovao hamoronana toe-pifandraisana tsy milamina, ary mitatitra olana avy amin'ny laharana voalohany.
  • Ny mpandinika dia mitady fifandraisana isan-karazany amin'ny angona ara-teknika, manatsara ny famakafakana ny valin'ny mpampiasa, ary manamarina ny vokatry ny andrana.
  • Ny mpitantana ny vokatra dia manampy amin'ny fitarihana ankapobeny sy ny fizarana loharanon-karena ho an'ny andrana.
  • Ny developer faharoa dia matetika manampy amin'ny fandaharana sy asa mifandraika amin'izany.

Hanombohana, nanangana metrika azo antoka izahay izay nanara-maso ny fiovan'ny fanombanana ny kalitaon'ny fifandraisana (antsoina hoe andro, herinandro, volana). Tamin'izany fotoana izany dia naoty avy amin'ny mpampianatra ireo, ary nampiana naoty avy amin'ny mpianatra taty aoriana. Avy eo izy ireo dia nanomboka nanangana vinavina momba ny zavatra tsy mety, nanitsy izany ary nijery ny fiovan'ny dinamika. Nankany amin'ny voankazo ambany mihantona izahay: ohatra, nosoloinay ny codec vp8 tamin'ny vp9, nihatsara ny fampisehoana. Nanandrana nilalao tamin'ny toe-javatra Janus izahay ary nanao andrana hafa - amin'ny ankamaroan'ny tranga dia tsy nitarika na inona na inona izy ireo.

Tamin'ny dingana faharoa, nipoitra ny hevitra iray: WebRTC dia vahaolana mitovy amin'ny mpiara-miasa, ary mampiasa mpizara eo afovoany izahay. Angamba eto ny olana? Nanomboka nandavaka izahay ary nahita ny fanatsarana lehibe indrindra hatreto.

Tamin'izay fotoana izay, ny mpizara iray avy amin'ny dobo dia nofantenana tamin'ny alàlan'ny algorithm somary adaladala: samy nanana ny "lanjany" azy manokana, miankina amin'ny fantsona sy ny heriny, ary niezaka ny handefa ny mpampiasa ho any amin'ilay manana "lanja" lehibe indrindra izahay. mandinika ny toerana misy ny mpampiasa ara-jeografika. Vokatr'izany, ny mpampianatra iray avy any Saint-Pétersbourg dia afaka nifandray tamin'ny mpianatra iray avy any Siberia namakivaky an'i Moskoa, fa tsy tamin'ny alàlan'ny mpizara Janus any Saint-Pétersbourg.

Nohavaozina ny algorithm: ankehitriny, rehefa manokatra ny sehatray ny mpampiasa iray, dia manangona pings avy aminy mankany amin'ny lohamilina rehetra mampiasa Ajax izahay. Rehefa manangana fifandraisana dia misafidy pings roa (mpampianatra-server sy mpianatra-server) miaraka amin'ny vola kely indrindra. Ny ping kely dia midika fa kely kokoa ny halaviran'ny tambajotra mankany amin'ny mpizara; Ny halavirana fohy dia midika ho ambany kokoa ny mety ho very fonosana; Ny fahaverezan'ny fonosana no antony ratsy indrindra amin'ny fifandraisana amin'ny horonan-tsary. Nidina antsasany tao anatin'ny telo volana ny ampahan'ny tsy negativity (raha ny marina, nisy andrana hafa natao tamin'io fotoana io, fa ity iray ity dia azo antoka fa nisy fiantraikany be indrindra).

Avy amin'ny Skype mankany amin'ny WebRTC: ny fomba nandaminanay fifandraisana video tamin'ny alàlan'ny Internet

Avy amin'ny Skype mankany amin'ny WebRTC: ny fomba nandaminanay fifandraisana video tamin'ny alàlan'ny Internet

Vao haingana izahay no nahita zavatra hafa tsy mazava, nefa toa manan-danja: raha tokony ho mpizara Janus matanjaka iray amin'ny fantsona matevina, dia tsara kokoa ny manana roa tsotra kokoa miaraka amin'ny bandwidth manify kokoa. Niharihary izany rehefa avy nividy milina matanjaka izahay tamin'ny fanantenana ny hanintonana efitrano maro (sesi-pifandraisana) ao anatin'izy ireo amin'ny fotoana iray ihany. Ny mpizara dia manana fetran'ny bandwidth, izay azontsika adika amin'ny fomba marina amin'ny isan'ny efitrano - fantatsika hoe firy no azo sokafana, ohatra, amin'ny 300 Mbit/s. Raha vao be loatra ny efitrano misokatra amin'ny mpizara iray, dia atsahatray ny fisafidianana azy io ho an'ny hetsika vaovao mandra-pihena ny entana. Ny hevitra dia hoe, rehefa nividy milina matanjaka izahay, dia hampiditra ny fantsona mankany amin'ny fara-tampony, ka amin'ny farany dia hoferan'ny processeur sy ny fitadidiana izany, fa tsy amin'ny bandwidth. Saingy hita fa taorian'ny efitrano misokatra maromaro (420), na dia eo aza ny zava-misy fa ny enta-mavesatra eo amin'ny processeur, ny fitadidiana ary ny kapila dia mbola lavitra ny fetra, manomboka tonga amin'ny fanohanana ara-teknika ny negativity. Toa misy zavatra miharatsy ao anatin'i Janus, angamba misy fameperana ihany koa ao. Nanomboka nanandrana izahay, nampidina ny fetran'ny bandwidth avy amin'ny 300 ka hatramin'ny 200 Mbit/s, ary lasa ny olana. Ankehitriny dia nividy mpizara vaovao telo izahay miaraka amin'ny fetra ambany sy ny toetrany, mihevitra izahay fa izany dia hitarika ho amin'ny fanatsarana ny kalitaon'ny fifandraisana. Mazava ho azy fa tsy niezaka ny hamantatra ny zava-nitranga tany izahay; ny tehinay no zava-drehetra. Amin'ny fiarovan-tenantsika, andao lazaina fa tamin'izany fotoana izany dia ilaina ny mamaha ny olana maika haingana araka izay azo atao, ary tsy manao izany amin'ny fomba tsara tarehy; ankoatr'izay, Janus ho antsika dia boaty mainty misoratra amin'ny C, lafo be ny mikitikitika azy.

Avy amin'ny Skype mankany amin'ny WebRTC: ny fomba nandaminanay fifandraisana video tamin'ny alàlan'ny Internet

Eny ary, ao anatin'izany dingana izany isika:

  • nohavaozina ny fiankinan-doha rehetra azo havaozina, na amin'ny mpizara na amin'ny mpanjifa (andrana ihany koa ireo, nanara-maso ny valiny izahay);
  • Namboarina ireo bibikely rehetra fantatra mifandraika amin'ny tranga manokana, ohatra, rehefa nidina ny fifandraisana ary tsy naverina ho azy;
  • Nanao fivoriana maro niaraka tamin'ireo orinasa miasa eo amin'ny sehatry ny fifandraisana an-dahatsary izahay ary mahafantatra ny olanay: lalao mivantana, fikarakarana webinars; nanandrana izay rehetra toa mahasoa anay izahay;
  • Nanao jery todika ara-teknika ny kalitaon’ny fitaovana sy ny fifandraisan’ny mpampianatra, izay niavian’ny fitarainana be indrindra.

Ny andrana sy ny fiovana manaraka dia nahafahana nampihena ny tsy fahafaham-po amin'ny fifandraisana eo amin'ny mpampianatra avy amin'ny 7,1% tamin'ny Janoary 2018 ho 2,5% tamin'ny Janoary 2019.

Inona no manaraka?

Ny fanamafisana ny sehatra Vimbox dia iray amin'ireo tetikasan'ny orinasa amin'ny taona 2019. Manantena izahay fa ho afaka hihazona ny fientanam-po ary tsy hahita fifandraisana amin'ny horonan-tsary intsony amin'ny fitarainana ambony. Takatsika fa ny ampahany manan-danja amin'ireo fitarainana ireo dia mifandraika amin'ny fahatarana amin'ny solosain'ny mpampiasa sy ny Internet, saingy tsy maintsy mamaritra ity ampahany ity izahay ary mamaha ny ambiny. Olana ara-teknika avokoa ny zavatra hafa rehetra, toa tokony ho vitantsika izany.

Ny fahasarotana lehibe indrindra dia ny tsy fahafantarantsika ny haavon'ny tena azo atao hanatsarana ny kalitao. Ny fitadiavana io valin-drihana io no tena asa. Noho izany, fanandramana roa no nomanina:

  1. ampitahao ny horonan-tsary amin'ny alàlan'i Janus miaraka amin'ny p2p mahazatra amin'ny toe-javatra miady. Ity andrana ity dia efa natao, tsy nisy fahasamihafana ara-statistika hita teo amin'ny vahaolana sy p2p;
  2. Andeha isika hanome tolotra (lafo) avy amin'ireo orinasa mitady vola manokana amin'ny vahaolana amin'ny fifandraisana amin'ny horonan-tsary, ary ampitahao ny habetsaky ny negativity avy amin'izy ireo amin'ny efa misy.

Ireo andrana roa ireo dia hamela antsika hamantatra tanjona azo tratrarina ary hifantoka amin'izany.

Ankoatra izany, misy asa maromaro azo vahana amin'ny fomba mahazatra:

  • Mamorona metrika ara-teknika momba ny kalitaon'ny fifandraisana izahay fa tsy hevitra hevitra;
  • Manao diarin'ny fotoam-pivoriana amin'ny antsipiriany kokoa izahay mba handinihana tsara kokoa ny tsy fahombiazana nitranga, hahatakatra ny fotoana sy ny toerana tena nisehoan'izy ireo, ary ny zava-nitranga toa tsy nisy ifandraisany tamin'izany fotoana izany;
  • Manomana fitsapana kalitaon'ny fifandraisana mandeha ho azy izahay alohan'ny lesona, ary manome fahafahana ny mpanjifa hanandrana amin'ny tanana ny fifandraisana mba hampihenana ny habetsaky ny negativity vokatry ny fitaovana sy ny fantsona azy;
  • hamolavola sy hanao fitiliana enta-mavesatra kokoa amin'ny fifandraisana amin'ny horonan-tsary isika amin'ny toe-javatra ratsy, miaraka amin'ny fahaverezan'ny fonosana miovaova, sns.;
  • manova ny fihetsiky ny mpizara izahay raha sendra olana mba hampitomboana ny fandeferana amin'ny fahadisoana;
  • Hampitandrina ny mpampiasa izahay raha misy tsy mety amin'ny fifandraisany mihitsy, toy ny ataon'ny Skype, mba hahafantarany fa eo anilany ny olana.

Nanomboka tamin'ny Aprily, lasa tetikasa misaraka tanteraka ao anatin'ny Skyeng ny torolalana amin'ny fifandraisana an-dahatsary, miatrika ny vokatra ao aminy, fa tsy ampahany amin'ny Vimbox fotsiny. Midika izany fa manomboka mitady olona amin'ny miasa miaraka amin'ny horonan-tsary amin'ny fomba feno. Eny, toy ny mahazatra Mitady olona tsara be dia be izahay.

Ary mazava ho azy, manohy mifandray mavitrika amin'ny olona sy orinasa miasa amin'ny fifandraisana amin'ny video izahay. Raha te hifanakalo traikefa aminay ianao dia ho faly! Maneho hevitra, mifandraisa - hamaly ny rehetra izahay.

Source: www.habr.com