{"id":30842,"date":"2019-10-31T21:37:44","date_gmt":"2019-10-31T18:37:44","guid":{"rendered":"https:\/\/prohoster.info\/blog\/ot-skype-do-webrtc-kak-my-organizovali-videosvyaz-cherez-veb\/"},"modified":"2021-02-01T11:37:06","modified_gmt":"2021-02-01T09:37:06","slug":"ot-skype-do-webrtc-kak-my-organizovali-videosvyaz-cherez-veb","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/ot-skype-do-webrtc-kak-my-organizovali-videosvyaz-cherez-veb","title":{"rendered":"Skype'ist WebRTC-ni: kuidas me korraldasime videok\u00f5nesid l\u00e4bi veeb","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Skype&#039;ist WebRTC-ni: kuidas me korraldasime videok\u00f5nesid l\u00e4bi veeb\" src=\"\/wp-content\/uploads\/2019\/04\/92ea7848049d68c0b41b821bc8b83d54.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>Videok\u00f5ne on peamine suhtlemisviis \u00f5petaja ja \u00fcli\u00f5pilase vahel Vimboxi platvormil. Oleme ammu loobunud Skype\u2019ist, proovinud mitmeid kolmandate osapoolte lahendusi ja l\u00f5puks peatunud WebRTC - Janus-gateway kombinatsioonil. M\u00f5nda aega olid meie jaoks asjad korralikult, kuid siiski ilmnes m\u00f5ningaid negatiivseid aspekte. L\u00f5puks loodi eraldi suund video jaoks.<\/p>\n<p>Palusin Kirill Rogovil, uue suuna juhil, r\u00e4\u00e4kida videok\u00f5ne arengust Skyengis, avastatud probleemidest, lahendustest ja improviseerimistest, mida me l\u00f5puks kasutasime. Loodame, et artikkel on kasulik ka ettev\u00f5tetele, kes propageerivad videok\u00f5nesid veebirakenduste kaudu.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2 id=\"nemnogo-istorii\">Enne kui liigume edasi<\/h2>\n<p>2017. aasta suvel esines Skyengi arendusjuht Sergei Safonov Backend Conf'is \u00f6eldes, kuidas me loobusime Skype\u2019ist ja v\u00f5tsime kasutusele WebRTC. Soovijad saavad vaadata esitluse salvestust <noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/0BiE1Rt-bak\">lingil<\/a><\/noindex> (~45 min), ja siin ma l\u00fchidalt selle sisu kokku v\u00f5tan.<\/p>\n<p>Skyengi jaoks on videok\u00f5ne alati olnud prioriteetne suhtlemisviis \u00f5petaja ja \u00f5pilase vahel. Alguses kasutati \"Skype\u2019i\", kuid see ei sobinud mitmete p\u00f5hjuste t\u00f5ttu, peamiselt logide puudumise ja otsese integreerimise v\u00f5imatuse t\u00f5ttu veebirakendusse. Seet\u00f5ttu tegime mitmeid katsetusi.<\/p>\n<p>Meie videok\u00f5ne n\u00f5udmised olid j\u00e4rgmised:<br \/>\n\u2014 stabiilsus;<br \/>\n\u2014 madal hind tunni kohta;<br \/>\n\u2014 tundide salvestamine;<br \/>\n\u2014 j\u00e4lgimine, kui palju iga\u00fcks r\u00e4\u00e4gib (meie jaoks on oluline, et \u00f5pilased r\u00e4\u00e4giksid tundide jooksul rohkem kui \u00f5petaja);<br \/>\n\u2014 lineaarne skaleerimine;<br \/>\n\u2014 v\u00f5imalus kasutada nii UDP-d kui TCP-d.<\/p>\n<p>Esimesena proovisin 2013. aastal Tokboxi. K\u00f5ik oli h\u00e4sti, kuid see oli v\u00e4ga kallis \u2013 113 rubla tunni eest \u2013 ja v\u00e4hendas meie kasumit.<\/p>\n<p>Seej\u00e4rel integreerisime 2015. aastal Voximplant'i. Siin oli vajalik j\u00e4lgimisfunktsioon, kes kui palju r\u00e4\u00e4gib, ja lahendus oli m\u00e4rgatavalt odavam: ainult heli salvestamise korral tuli 20 rubla tunni eest. Siiski toimis see ainult UDP kaudu ja ei osanud TCP-le \u00fcle minna. Sellegipoolest kasutas seda l\u00f5puks umbes 40% \u00f5pilastest.<\/p>\n<p>Aasta p\u00e4rast hakkasid meie klientidel ilmuma spetsiifilised n\u00f5uded. N\u00e4iteks peab k\u00f5ik t\u00f6\u00f6tama l\u00e4bi brauseri, ettev\u00f5ttes on avatud ainult http ja https; teisis\u00f5nu, mitte mingit \u201eSkype'i\u201d ja UDP-d. Ettev\u00f5tte kliendid = raha, seega p\u00f6\u00f6rdusime tagasi Tokboxi poole, kuid hinna probleem j\u00e4i endiselt aktuaalseks.<\/p>\n<h2 id=\"reshenie----webrtc-i-janus\">Lahendus \u2014 WebRTC ja Janus<\/h2>\n<p>Otsustasime kasutada <noindex><a rel=\"nofollow\" href=\"https:\/\/webrtc.org\/\">brauserip\u00f5hist platvormi p2p videok\u00f5nede jaoks WebRTC<\/a><\/noindex>. See hoolitseb \u00fchenduse loomise, voogude kodeerimise ja dekodeerimise, radade s\u00fcnkroonimise ning kvaliteedikontrolli eest, k\u00e4sitledes v\u00f5rgu t\u00f5rkeid. Meie poolelt peame tagama voogude lugemise kaamerast ja mikrofonist, video joonistamise, \u00fchenduse haldamise, WebRTC-\u00fchenduse loomise ja voogude edastamise sellele, samuti kliendivahelise signaalide edastamise \u00fchenduse loomiseks (isegi WebRTC kirjeldab ainult andmete formaati, mitte nende edastamise mehhanismi). Kui kliendid asuvad NAT-i taga, siis WebRTC \u00fchendab STUN-servereid, kui see ei aita, siis TURN-servereid.<\/p>\n<p>Tavaline p2p-\u00fchendus ei piisa, sest soovime tunnipidusid salvestada edasiseks anal\u00fc\u00fcsiks kaebuste korral. Seet\u00f5ttu edastame WebRTC vood retransleeri kaudu <noindex><a rel=\"nofollow\" href=\"https:\/\/janus.conf.meetecho.com\/\">Janus Gateway Meetecho poolt<\/a><\/noindex>. Tulemuseks on, et kliendid ei tea \u00fcksteise aadresse, n\u00e4hes ainult Janus serveri aadressi; see t\u00e4idab ka signaaliserveri funktsioone. Janusel on palju vajalikke funktsioone: see \u00fcleminek TCP-le, kui kliendil on UDP blokeeritud; oskab salvestada nii UDP- kui TCP-vooge; on skaleeritav; on isegi sisseehitatud plugin k\u00f5ne testimiseks. Vajadusel \u00fchendatakse automaatselt Twilio STUN ja TURN serverid.<\/p>\n<p>Suvel 2017 t\u00f6\u00f6tas meil kaks Janus serverit pluss t\u00e4iendav server salvestatud toorfailide t\u00f6\u00f6tlemiseks audio ja video jaoks, et mitte koormata p\u00f5hiserverite protsessoreid. \u00dchendamisel valiti Janus serverid paarituks-umbes p\u00f5him\u00f5ttel (\u00fchenduse number). Sel hetkel piisas sellest, meie arvates andis see umbes neljakordse varu, rakenduse protsent oli umbes 80. Samuti v\u00e4henes hind ~2 rubla tunni kohta, pluss arendamine ja toetus.<\/p>\n<p><img decoding=\"async\" alt=\"Skype&#039;ist WebRTC-ni: kuidas me korraldasime videok\u00f5nesid l\u00e4bi veeb\" src=\"\/wp-content\/uploads\/2019\/04\/fd1cd47a6625f1ddaa20ed2a6067be60.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<h2 id=\"vozvraschenie-k-teme-videosvyazi\">Tagasi videok\u00f5nede teema juurde<\/h2>\n<p>Me pide constantemente nipas\u1eb9 feedback nga ayler ve gn\u017e ao\u011flum nabalar taraftan, kiwi g\u00f6rebilim ve ila\u00e7lar\u0131 murmara almak i\u00e7un. 2018 yaz\u0131nda en \u00e7ok \u015fik\u00e2yet edilen konu kesinlikle ileti\u015fim kalitesi oldu. Bir taraftan bu, di\u011fer eksiklikler ile iyi bir \u015fekilde ba\u015fa \u00e7\u0131kt\u0131\u011f\u0131m\u0131z anlam\u0131na geliyordu. Di\u011fer taraftan, bir \u015feyler yapmam\u0131z gerekirdi: derinin kesilmesi durumunda, onun de\u011ferini kaybetme riskimiz var, bazen sonraki paket sat\u0131n al\u0131m\u0131n\u0131n de\u011ferini yan\u0131 s\u0131ra, ilk derin kesildi\u011finde - potansiyel bir m\u00fc\u015fteri kaybetme ihtimali var.<\/p>\n<p>O s\u0131rada videolu ba\u011flant\u0131 hala MVP modundayd\u0131. Basit\u00e7e s\u00f6ylemek gerekirse, ba\u015flatt\u0131k, \u00e7al\u0131\u015ft\u0131, bir kez \u00f6l\u00e7eklendirdik, bunu nas\u0131l yapaca\u011f\u0131m\u0131z\u0131 anlad\u0131k - b\u00f6yle devam ediyor. If it works, don\u2019t fix it. Kimse ileti\u015fim kalitesine \u00f6zel olarak odaklanmam\u0131\u015ft\u0131. A\u011fustos\u2019ta bu \u015fekilde devam edemeyece\u011fimiz a\u00e7\u0131k hale geldi ve WebRTC ve Janus ile ilgili sorunlar\u0131 \u00e7\u00f6zmek i\u00e7in ayr\u0131 bir y\u00f6n ba\u015flatt\u0131k.<\/p>\n<p>Bu yeni y\u00f6n, giri\u015finde \u015funlar\u0131 elde etti: MVP \u00e7\u00f6z\u00fcm\u00fc, metrik yok, hedef yok, iyile\u015ftirme s\u00fcre\u00e7leri yok, buna ra\u011fmen \u00f6\u011fretmenlerin %7'si ileti\u015fim kalitesinden \u015fikayet ediyordu (\u00f6\u011frencilerle ilgili veriler de yoktu).<\/p>\n<p><img decoding=\"async\" alt=\"Skype&#039;ist WebRTC-ni: kuidas me korraldasime videok\u00f5nesid l\u00e4bi veeb\" src=\"\/wp-content\/uploads\/2019\/04\/f8134229567f1187b00ec5c21a79800c.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<h2 id=\"novoe-napravlenie-beretsya-za-rabotu\">Yeni y\u00f6n \u00e7al\u0131\u015fmalar\u0131na ba\u015fl\u0131yor.<\/h2>\n<p>Ekip yakla\u015f\u0131k \u015f\u00f6yle g\u00f6r\u00fcn\u00fcyor:<\/p>\n<ul>\n<li>Y\u00f6neticisi y\u00f6n\u00fc, ayn\u0131 zamanda ba\u015f geli\u015ftirici.<\/li>\n<li>QA, de\u011fi\u015fikliklerin test edilmesine yard\u0131mc\u0131 olur, ileti\u015fim i\u00e7in karars\u0131z ko\u015fullar yaratman\u0131n yeni yollar\u0131n\u0131 arar, cephe hatt\u0131ndaki sorunlar\u0131 bildirir.<\/li>\n<li>Analist, teknik verilere farkl\u0131 korelasyonlar arar, kullan\u0131c\u0131 geri bildirim analizini geli\u015ftirir, deneylerin sonu\u00e7lar\u0131n\u0131 kontrol eder.<\/li>\n<li>\u00dcr\u00fcn y\u00f6neticisi genel y\u00f6n ve deneyler i\u00e7in kaynak tahsisinde yard\u0131mc\u0131 olur.<\/li>\n<li>Programlama ve benzer g\u00f6revlerde s\u0131k s\u0131k ikinci geli\u015ftirici yard\u0131mc\u0131 olur.<\/li>\n<\/ul>\n<p>Ba\u015flang\u0131\u00e7 olarak, ileti\u015fim kalitesinin de\u011ferlendirmesini izleyen nispeten g\u00fcvenilir bir metrik ayarlad\u0131k (g\u00fcnlere, haftalara, aylara g\u00f6re ortalama). O zaman bu \u00f6\u011fretmenlerden gelen de\u011ferlendirmelerdi, daha sonra onlara \u00f6\u011frencilerden gelen de\u011ferlendirmeler eklendi. Sonras\u0131nda neyin yanl\u0131\u015f \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 belirlemek i\u00e7in hipotezler geli\u015ftirmeye ba\u015flad\u0131k, d\u00fczeltmeler yapt\u0131k ve dinamikteki de\u011fi\u015fikliklere bakt\u0131k. D\u00fc\u015f\u00fck-hanging meyvelerle ba\u015flad\u0131k: \u00f6rne\u011fin, vp8 codec'ini vp9 ile de\u011fi\u015ftirdik ve \u00f6l\u00e7\u00fctlerde iyile\u015fme oldu. Janus ayarlar\u0131yla oynamay\u0131 denedik, di\u011fer deneyler y\u00fcr\u00fctt\u00fck - \u00e7o\u011fu durumda hi\u00e7bir \u015feye yol a\u00e7mad\u0131.<\/p>\n<p>Teisel etapil tekkis h\u00fcpotees: WebRTC on peer-to-peer lahendus, kuid meie kasutame serverit keskel. V\u00f5ib-olla on probleem siin? Alustasime uurimist\u00f6\u00f6d ja leidsime siit praegu k\u00f5ige olulisema parenduse.<\/p>\n<p>Sel hetkel valiti server puust \u00fcsna primitiivse algoritmiga: igal serveril oli oma \u201ekaal\u201c, mis s\u00f5ltus kanalist ja v\u00f5imsusest, ja me p\u00fc\u00fcdsime suunata kasutaja sellele, kus \u201ekaal\u201c oli suurem, mitte pidades silmas, kus geograafiliselt asub kasutaja. Tulemuseks oli, et \u00f5petaja Peterburgist suutis suhelda \u00f5pilasega Siberist l\u00e4bi Moskva, mitte meie Janus-serveri kaudu SPb-s.<\/p>\n<p>Algoritmi muudeti: n\u00fc\u00fcd, kui kasutaja avab meie platvormi, kogume Ajaxiga signaale tema ja k\u00f5ikide serverite vahel. \u00dchenduse loomisel valime v\u00e4lja paar signaali (\u00f5petaja-server ja \u00f5pilane-server), mille summa on k\u00f5ige v\u00e4iksem. Mida madalam signaal, seda l\u00fchem on kaugus serverini; l\u00fchem kaugus - madalam t\u00f5en\u00e4osus pakettide kaotamiseks; pakettide kaotus on videok\u00f5nes k\u00f5ige suurem negatiivne tegur. Negatiivne osakaal on kolme kuu jooksul kahe korra v\u00e4henenud (aususe huvides toimusid sel ajal ka muud eksperimendid, kuid see m\u00f5jutas peaaegu kindlasti k\u00f5ige rohkem).<\/p>\n<p><img decoding=\"async\" alt=\"Skype&#039;ist WebRTC-ni: kuidas me korraldasime videok\u00f5nesid l\u00e4bi veeb\" src=\"\/wp-content\/uploads\/2019\/04\/a106f7701b34c03080251710adf2a7a0.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p><img decoding=\"async\" alt=\"Skype&#039;ist WebRTC-ni: kuidas me korraldasime videok\u00f5nesid l\u00e4bi veeb\" src=\"\/wp-content\/uploads\/2019\/04\/2cd6782e5f4182004a0c0d9dd05dba5b.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>Hiljuti avastasime veel \u00fche mitte-euroopalik, kuid tundub, et oluline asjaolu: \u00fche v\u00f5imsa Janus-serveri asemel paksul kanalil on parem valida kaks lihtsamat, mille ribalaius on v\u00e4iksem. See selgus p\u00e4rast seda, kui ostsime just v\u00f5imsad masinad lootuses mahutada sinna v\u00f5imalikult palju ruume (sidesessioone) korraga. Serveritel on ribalaiuse piirang, mille saame t\u00e4pselt t\u00f5lkida ruumide arvu \u2014 me teame, kui palju v\u00f5ib avada n\u00e4iteks 300 Mbit\/s. Niisiis, kui serveris on avatud liiga palju ruume, l\u00f5petame selle valimise uute sessioonide jaoks, kuni koormus v\u00e4heneb. Idee oli selles, et ostes v\u00f5imsa masina, laeme kanali selle maksimaalselt, et l\u00f5puks piiraksime protsessorit ja m\u00e4lu, mitte ribalaiust. Kuid selgus, et p\u00e4rast teatud arvu avatud ruume (420), vaatamata sellele, et protsessori, m\u00e4lu ja ketta koormus on veel liiga kaugel piiridest, hakkavad tehnilise toe poole tulema negatiivsed tagasisided. Tundub, et midagi halveneb Januse sees, v\u00f5ib-olla on seal samuti mingid piirangud. Alustasime katsetamist, v\u00e4hendasime ribalaiuse piiri 300 Mbit\/s-lt 200 Mbit\/s-le, probleemid kadusid. N\u00fc\u00fcd ostsime kohe kolm uut serverit madalate piirangute ja omadustega, arvame, et see toob kaasa stabiilse kvaliteedi parandamise. Me ei hakanud aru saama, mis probleeme seal oli, ajutised lahendused on meie k\u00f5ik. Kaitsme ennast, et sel hetkel pidi olema v\u00f5imalikult kiiresti lahendatud aktuaalne probleem, mitte tegema seda ilusti; pealegi on Janus meie jaoks must kast, kirjutatud C-s, sellega nokitsemine on v\u00e4ga kallis.<\/p>\n<p><img decoding=\"async\" alt=\"Skype&#039;ist WebRTC-ni: kuidas me korraldasime videok\u00f5nesid l\u00e4bi veeb\" src=\"\/wp-content\/uploads\/2019\/04\/21ad5290ed3e40bdf0b26dfb5c20cdf8.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>Ja protsessi k\u00e4igus me:<\/p>\n<ul>\n<li>uuendasime k\u00f5iki s\u00f5ltuvusi, mida oli v\u00f5imalik uuendada, nii serveris kui ka kliendis (need olid samuti eksperimendid, j\u00e4lgisime tulemusi);<\/li>\n<li>parandasime k\u00f5ik tuvastatud vead, mis puudutasid konkreetseid juhtumeid, n\u00e4iteks kui side langes ja ei taastunud automaatselt;<\/li>\n<li>viisime l\u00e4bi hulgaliselt kohtumisi ettev\u00f5tetega, kes t\u00f6\u00f6tavad videok\u00f5nede valdkonnas ja on tuttavad meie probleemidega: m\u00e4ngude voogedastajad, veebiseminaride korraldajad; proovisime k\u00f5ike, mis meile kasulik tundus;<\/li>\n<li>korraldasime tehnilise \u00fclevaate riistvarast ja side kvaliteedist \u00f5petajate seas, kellest tuli k\u00f5ige rohkem kaebusi.<\/li>\n<\/ul>\n<p>Tehtud katsed ja neist tulenevad muudatused on v\u00f5imaldanud v\u00e4hendada \u00f5ppej\u00f5udude rahulolematust \u00fchenduse osas 7,1% jaanuaris 2018 2,5% jaanuaris 2019.<\/p>\n<h2 id=\"chto-dalshe\">Mis edasi<\/h2>\n<p>Meie Vimbox'i platvormi stabiliseerimine on \u00fcks peamisi ettev\u00f5tte projekte 2019. aastaks. Meil on suured lootused, et suudame s\u00e4ilitada d\u00fcnaamika ning mitte enam n\u00e4ha videok\u00f5nesid kaebuste tipus. Me m\u00f5istame, et m\u00e4rkimisv\u00e4\u00e4rne osa nendest kaebustest on seotud kasutajate arvutite ja interneti lagunemisega, kuid peame kindlaks tegema selle osa ja lahendama k\u00f5ik muu. K\u00f5ik muu on tehniline probleem ja n\u00e4ib, et me peaksime olema v\u00f5imelised sellega tegelema.<\/p>\n<p>Peamine raskus seisneb selles, et me ei tea, kui kaugele on reaalselt v\u00f5imalik kvaliteeti t\u00f5sta. Selle piiri v\u00e4ljaselgitamine on peamine \u00fclesanne. Seet\u00f5ttu on planeeritud kaks eksperimenti:<\/p>\n<ol>\n<li>v\u00f5rrelda videot Januse kaudu tavalise p2p-ga lahingutingimustes. See katse on juba l\u00e4bi viidud, kuid meie lahenduse ja p2p vahel ei ole leitud statistiliselt olulist erinevust;<\/li>\n<li>paigutame (kallid) teenused ettev\u00f5tetelt, mis teenivad raha vaid videok\u00f5neside lahendustega, ja v\u00f5rdleme nende negatiivset tagasisidet olemasolevaga.<\/li>\n<\/ol>\n<p>Need kaks eksperimenti v\u00f5imaldavad meil m\u00e4\u00e4ratleda saavutatava eesm\u00e4rgi ja keskenduda sellele.<\/p>\n<p>Lisaks on mitmeid \u00fclesandeid, mida lahendatakse t\u00f6\u00f6 k\u00e4igus:<\/p>\n<ul>\n<li>loome tehnilise kvaliteedimetri \u00fchenduse asemel subjektiivsete tagasisidetega;<\/li>\n<li>teeme podroobse sessioonide logimise, et t\u00e4psemalt anal\u00fc\u00fcsida esinevaid t\u00f5rkeid, m\u00f5ista, millal ja kus need juhtusid, ning milliseid esmapilgul mitte seotud s\u00fcndmusi sel hetkel toimus;<\/li>\n<li>valmistame ette automaatse kvaliteeditesti enne tundi ning anname kliendile v\u00f5imaluse k\u00e4sitsi \u00fchendust testida, et v\u00e4hendada rahulolematust, mis tuleneb tema riistvarast ja kanalist;<\/li>\n<li>arendame ja viime l\u00e4bi rohkem koormusteste videok\u00f5nede jaoks halbadest tingimustest, muutuvate pakettide kaotustega jne;<\/li>\n<li>muudame serverite k\u00e4itumist probleemide korral, et suurendada h\u00e4iretuksuust;<\/li>\n<li>hoiame kasutajat kursis, kui tal on \u00fchendusega mingeid probleeme, nagu seda teeb ka \"Skype\", et ta m\u00f5istaks, et probleem on tema pool.<\/li>\n<\/ul>\n<p>Aprill muutub videokonverents suund Skyengis t\u00e4isv\u00e4\u00e4rtuslikuks eraldi projektiks, mis tegeleb oma tootega, mitte lihtsalt osana Vimboxist. See t\u00e4hendab, et hakkame otsima inimesi <noindex><a rel=\"nofollow\" href=\"https:\/\/spb.hh.ru\/vacancy\/30766332\">t\u00f6\u00f6tama videoga t\u00e4ist\u00f6\u00f6ajaga<\/a><\/noindex>. Nagu alati, <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/skyeng\/blog\/446444\/\">otsime palju h\u00e4id inimesi<\/a><\/noindex>.<\/p>\n<p>. Loomulikult j\u00e4tkame aktiivselt suhtlemist inimestega ja ettev\u00f5tetega, kes tegelevad videokonverentsiga. Kui soovite meiega kogemusi vahetada \u2014 oleme r\u00f5\u00f5msad! Kommenteerige, v\u00f5tke \u00fchendust \u2014 vastame k\u00f5igile.<\/p>\n<p>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/skyeng\/blog\/446444\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u0438\u0434\u0435\u043e\u0441\u0432\u044f\u0437\u044c \u2014 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043f\u0440\u0435\u043f\u043e\u0434\u0430\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u0430 \u043d\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435 Vimbox. \u041c\u044b \u0434\u0430\u0432\u043d\u043e \u043e\u0442\u043a\u0430\u0437\u0430\u043b\u0438\u0441\u044c \u043e\u0442 Skype, \u043f\u0435\u0440\u0435\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u0438 \u0432 \u0438\u0442\u043e\u0433\u0435 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0438\u0441\u044c \u043d\u0430 \u0441\u0432\u044f\u0437\u043a\u0435 WebRTC \u2014 Janus-gateway. \u041d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043d\u0430\u0441 \u0432\u0441\u0435 \u0443\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u043b\u043e, \u043d\u043e \u0432\u0441\u0435 \u0436\u0435 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435\u0433\u0430\u0442\u0438\u0432\u043d\u044b\u0435 \u043c\u043e\u043c\u0435\u043d\u0442\u044b \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u043b\u0438 \u0432\u044b\u043b\u0435\u0437\u0430\u0442\u044c. \u0412 \u0438\u0442\u043e\u0433\u0435 \u0431\u044b\u043b\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0435 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043e \u0432\u0438\u0434\u0435\u043e. \u042f \u043f\u043e\u043f\u0440\u043e\u0441\u0438\u043b \u041a\u0438\u0440\u0438\u043b\u043b\u0430 \u0420\u043e\u0433\u043e\u0432\u043e\u0433\u043e, \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":22826,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-30842","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412\u0438\u0434\u0435\u043e\u0441\u0432\u044f\u0437\u044c \u2014 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043e\u0431\u0449\u0435\u043d\u0438\u044f.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/ot-skype-do-webrtc-kak-my-organizovali-videosvyaz-cherez-veb\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041e\u0442 Skype \u0434\u043e WebRTC: \u043a\u0430\u043a \u043c\u044b \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u043b\u0438 \u0432\u0438\u0434\u0435\u043e\u0441\u0432\u044f\u0437\u044c \u0447\u0435\u0440\u0435\u0437 \u0432\u0435\u0431 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u0438\u0434\u0435\u043e\u0441\u0432\u044f\u0437\u044c \u2014 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043e\u0431\u0449\u0435\u043d\u0438\u044f.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/ot-skype-do-webrtc-kak-my-organizovali-videosvyaz-cherez-veb\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:37:44+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-02-01T09:37:06+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Kuidas me korraldasime videokonverentsi veebis alates Skype'ist kuni WebRTC-ni | ProHoster","description":"Videokonverents on peamine suhtlemisviis.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/ot-skype-do-webrtc-kak-my-organizovali-videosvyaz-cherez-veb","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041e\u0442 Skype \u0434\u043e WebRTC: \u043a\u0430\u043a \u043c\u044b \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u043b\u0438 \u0432\u0438\u0434\u0435\u043e\u0441\u0432\u044f\u0437\u044c \u0447\u0435\u0440\u0435\u0437 \u0432\u0435\u0431 | ProHoster","og:description":"\u0412\u0438\u0434\u0435\u043e\u0441\u0432\u044f\u0437\u044c \u2014 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043e\u0431\u0449\u0435\u043d\u0438\u044f.","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/ot-skype-do-webrtc-kak-my-organizovali-videosvyaz-cherez-veb","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:37:44+00:00","article:modified_time":"2021-02-01T09:37:06+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"30842","title":null,"description":"","keywords":"","keyphrases":null,"primary_term":null,"canonical_url":"","og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 03:14:20","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:28:46","updated":"2026-01-21 03:14:20","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/30842","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=30842"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/30842\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/22826"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=30842"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=30842"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=30842"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}