{"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\/sv\/blog\/administrirovanie\/ot-skype-do-webrtc-kak-my-organizovali-videosvyaz-cherez-veb","title":{"rendered":"Fr\u00e5n Skype till WebRTC: hur vi organiserade videosamtal via webben","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Fr\u00e5n Skype till WebRTC: hur vi organiserade videosamtal via webben\" src=\"\/wp-content\/uploads\/2019\/04\/92ea7848049d68c0b41b821bc8b83d54.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>Videokommunikation \u00e4r det prim\u00e4ra s\u00e4ttet f\u00f6r l\u00e4rare och studenter att kommunicera p\u00e5 Vimbox-plattformen. Vi har l\u00e4nge \u00f6vergett Skype, testat flera externa l\u00f6sningar och slutligen landat p\u00e5 WebRTC \u2013 Janus-gateway. Under en tid var vi n\u00f6jda, men vissa negativa aspekter fortsatte att dyka upp. D\u00e4rf\u00f6r skapades en separat avdelning f\u00f6r video.<\/p>\n<p>Jag bad Kirill Rogovoy, chefen f\u00f6r den nya avdelningen, att ber\u00e4tta om utvecklingen av videokommunikation p\u00e5 Skyeng, de problem som uppst\u00e5tt, l\u00f6sningarna och de n\u00f6dl\u00f6sningar vi i slut\u00e4ndan till\u00e4mpade. Vi hoppas att artikeln kommer att vara anv\u00e4ndbar f\u00f6r f\u00f6retag som ocks\u00e5 implementerar video via webbapplikationer.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2 id=\"nemnogo-istorii\">Lite historia<\/h2>\n<p>Sommar 2017 deltog Skyengs chef f\u00f6r utveckling, Sergey Safonov, p\u00e5 Backend Conf och talade om hur vi \"\u00f6vergav Skype och implementerade WebRTC\". De som \u00e4r intresserade kan se inspelningen av presentationen p\u00e5 <noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/0BiE1Rt-bak\">l\u00e4nken<\/a><\/noindex> (~45 min), h\u00e4r sammanfattar jag dess inneh\u00e5ll.<\/p>\n<p>F\u00f6r Skyeng har videokommunikation alltid varit det prioriterade s\u00e4ttet f\u00f6r l\u00e4rar-student-interaktion. I b\u00f6rjan anv\u00e4nde vi \"Skype\", men det fungerade helt och h\u00e5llet inte av flera sk\u00e4l, fr\u00e4mst p\u00e5 grund av bristen p\u00e5 loggning och of\u00f6rm\u00e5gan att integrera den direkt i webbapplikationen. D\u00e4rf\u00f6r genomf\u00f6rde vi olika experiment.<\/p>\n<p>V\u00e5ra krav p\u00e5 videokommunikation var ungef\u00e4r s\u00e5 h\u00e4r:<br \/>\n\u2014 stabilitet;<br \/>\n\u2014 l\u00e5g kostnad per lektion;<br \/>\n\u2014 inspelning av lektioner;<br \/>\n\u2014 sp\u00e5rning av talartid (vi vill att eleverna ska prata mer \u00e4n l\u00e4raren under lektioner);<br \/>\n\u2014 linj\u00e4r skalning;<br \/>\n\u2014 m\u00f6jlighet att anv\u00e4nda b\u00e5de UDP och TCP.<\/p>\n<p>F\u00f6rst \u00e5r 2013 f\u00f6rs\u00f6kte vi implementera Tokbox. Allt var bra, men det kostade mycket \u2013 113 rubel per lektion \u2013 och \u00e5t upp vinsten.<\/p>\n<p>D\u00e4refter, 2015, integrerade vi Voximplant. H\u00e4r fanns den funktion vi beh\u00f6vde f\u00f6r att sp\u00e5ra talartid, och l\u00f6sningen var betydligt billigare: med endast ljudinspelning kostade det 20 rubel per lektion. Det fungerade dock endast via UDP och kunde inte byta till TCP. Trots detta anv\u00e4nde cirka 40% av eleverna det.<\/p>\n<p>Ett \u00e5r senare b\u00f6rjade vi f\u00e5 f\u00f6retagskunder med specifika krav. Till exempel, allt m\u00e5ste fungera via webbl\u00e4saren, och f\u00f6retaget till\u00e5ter endast http och https; det vill s\u00e4ga, inga \"Skype\" och UDP. F\u00f6retagskunder = pengar, s\u00e5 vi gick tillbaka till Tokbox, men prisproblemet kvarst\u00e5r.<\/p>\n<h2 id=\"reshenie----webrtc-i-janus\">L\u00f6sningen \u2014 WebRTC och Janus<\/h2>\n<p>Vi beslutade att anv\u00e4nda <noindex><a rel=\"nofollow\" href=\"https:\/\/webrtc.org\/\">webbl\u00e4sarbaserad plattform f\u00f6r peer-to-peer videokommunikation WebRTC<\/a><\/noindex>. Den ansvarar f\u00f6r att etablera anslutningen, kodning och avkodning av fl\u00f6den, synkronisering av sp\u00e5r och kvalitetskontroll med hantering av n\u00e4tverksproblem. Fr\u00e5n v\u00e5r sida m\u00e5ste vi s\u00e4kerst\u00e4lla l\u00e4sning av fl\u00f6den fr\u00e5n kamera och mikrofon, rendering av video, hantering av anslutningen, etablering av WebRTC-anslutningen och \u00f6verf\u00f6ring av fl\u00f6den till den, samt \u00f6verf\u00f6ring av signaleringsmeddelanden mellan kunder f\u00f6r att etablera en anslutning (WebRTC beskriver endast dat\u683c\u5f0f, men inte mekanismen f\u00f6r deras \u00f6verf\u00f6ring). Om kunderna befinner sig bakom NAT ansluter WebRTC STUN-servrar, och om det inte hj\u00e4lper, TURN-servrar.<\/p>\n<p>Ett vanligt p2p-anslutning r\u00e4cker inte, eftersom vi vill spela in lektioner f\u00f6r vidare analys i h\u00e4ndelse av klagom\u00e5l. D\u00e4rf\u00f6r skickar vi WebRTC-fl\u00f6den via en retranslator <noindex><a rel=\"nofollow\" href=\"https:\/\/janus.conf.meetecho.com\/\">Janus Gateway fr\u00e5n Meetecho<\/a><\/noindex>. Som ett resultat vet inte kunderna adresserna till varandra, utan ser endast adressen till Janus-servern; den fungerar ocks\u00e5 som signalserver. Janus har m\u00e5nga funktioner vi beh\u00f6ver: den g\u00e5r automatiskt \u00f6ver till TCP om klienten blockerar UDP; kan spela in b\u00e5de UDP- och TCP-fl\u00f6den; \u00e4r skalbar; det finns till och med en inbyggd modul f\u00f6r eko-tester. Vid behov ansluts automatiskt STUN och TURN-servrar fr\u00e5n Twilio.<\/p>\n<p>Under sommaren 2017 hade vi tv\u00e5 Janus-servrar plus en extra server f\u00f6r att bearbeta inspelade r\u00e5a ljud- och videofiler s\u00e5 att vi inte belastar processorerna f\u00f6r huvudservrarna. Vid anslutning valdes Janus-servrarna enligt principen j\u00e4mn-odda (anslutningsnummer). D\u00e5 r\u00e4ckte detta, vi k\u00e4nde att det gav cirka fyrdubbel s\u00e4kerhet, och implementeringsgraden var cirka 80. Samtidigt minskade kostnaden till ~2 rubel per lektion, plus utveckling och underh\u00e5ll.<\/p>\n<p><img decoding=\"async\" alt=\"Fr\u00e5n Skype till WebRTC: hur vi organiserade videosamtal via webben\" src=\"\/wp-content\/uploads\/2019\/04\/fd1cd47a6625f1ddaa20ed2a6067be60.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<h2 id=\"vozvraschenie-k-teme-videosvyazi\">\u00c5ter till \u00e4mnet videokommunikation<\/h2>\n<p>Vi \u00f6vervakar st\u00e4ndigt feedback fr\u00e5n elever och l\u00e4rare f\u00f6r att snabbt identifiera och \u00e5tg\u00e4rda problem. Fram till sommaren 2018 var kvaliteten p\u00e5 internetuppkopplingen den mest frekventa klagan. \u00c5 ena sidan betydde det att vi hade lyckats \u00e5tg\u00e4rda andra brister. \u00c5 andra sidan var det br\u00e5dskande att g\u00f6ra n\u00e5got: om en lektion st\u00e4lls in riskerar vi att f\u00f6rlora dess v\u00e4rde, ibland \u00e4ven v\u00e4rdet av n\u00e4sta paket, och om ett introduktionspass st\u00e4lls in riskerar vi att helt f\u00f6rlora en potentiel kund.<\/p>\n<p>Vid den tidpunkten var v\u00e5r videokontakt fortfarande i MVP-l\u00e4ge. Enkelt uttryckt, vi startade det, det fungerade, vi skalade upp en g\u00e5ng, f\u00f6rstod hur vi skulle g\u00f6ra \u2013 och det var bra. If it works, don\u2019t fix it. Ingen tog specifikt itu med kvaliteten p\u00e5 uppkopplingen. I augusti blev det klart att det inte kunde forts\u00e4tta s\u00e5 h\u00e4r, och vi startade en separat avdelning f\u00f6r att ta reda p\u00e5 vad som egentligen var fel med WebRTC och Janus.<\/p>\n<p>Denna avdelning b\u00f6rjade med: MVP-l\u00f6sning, inga m\u00e4tv\u00e4rden, inga m\u00e5l, inga processer f\u00f6r f\u00f6rb\u00e4ttring, samtidigt som 7 % av l\u00e4rarna klagade p\u00e5 kvaliteten p\u00e5 uppkopplingen (det fanns inga data om eleverna).<\/p>\n<p><img decoding=\"async\" alt=\"Fr\u00e5n Skype till WebRTC: hur vi organiserade videosamtal via webben\" src=\"\/wp-content\/uploads\/2019\/04\/f8134229567f1187b00ec5c21a79800c.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<h2 id=\"novoe-napravlenie-beretsya-za-rabotu\">Den nya avdelningen s\u00e4tter ig\u00e5ng med arbetet<\/h2>\n<p>Teamet ser ungef\u00e4r ut s\u00e5 h\u00e4r:<\/p>\n<ul>\n<li>Avdelningsledaren, som ocks\u00e5 \u00e4r huvudutvecklaren.<\/li>\n<li>QA-teamet hj\u00e4lper till att testa \u00e4ndringar, letar efter nya s\u00e4tt att skapa instabila f\u00f6rh\u00e5llanden f\u00f6r uppkopplingen, rapporterar problem fr\u00e5n frontlinjen.<\/li>\n<li>Analytikern letar st\u00e4ndigt efter olika korrelationer i tekniska data, f\u00f6rb\u00e4ttrar analysen av anv\u00e4ndarfeedback, kontrollerar resultat av experiment.<\/li>\n<li>Produktchefen hj\u00e4lper till med den \u00f6vergripande inriktningen och tilldelning av resurser f\u00f6r experiment.<\/li>\n<li>Den andra utvecklaren hj\u00e4lper ofta till med programmering och relaterade uppgifter.<\/li>\n<\/ul>\n<p>F\u00f6r att b\u00f6rja st\u00e4llde vi in en relativt p\u00e5litlig metrisk som \u00f6vervakade f\u00f6r\u00e4ndringar i bed\u00f6mningen av uppkopplingskvaliteten (genomsnitt per dagar, veckor, m\u00e5nader). Vid den tidpunkten var det l\u00e4rarens bed\u00f6mningar, senare la vi till bed\u00f6mningar fr\u00e5n studenter. Vi b\u00f6rjade sedan formulera hypoteser om vad som inte fungerade, korrigerade och s\u00e5g p\u00e5 f\u00f6r\u00e4ndringarna \u00f6ver tid. Vi tog de l\u00e5gt h\u00e4ngande frukterna: till exempel bytte vi ut codec vp8 mot vp9, och resultaten f\u00f6rb\u00e4ttrades. Vi provade olika inst\u00e4llningar f\u00f6r Janus och genomf\u00f6rde andra experiment \u2013 som oftast inte ledde till n\u00e5got.<\/p>\n<p>Vid det andra steget uppstod en hypotes: WebRTC \u00e4r en peer-to-peer-l\u00f6sning, och vi anv\u00e4nder en server i mitten. Kan problemet ligga h\u00e4r? Vi b\u00f6rjade gr\u00e4va och fann h\u00e4r en hittills mest betydande f\u00f6rb\u00e4ttring.<\/p>\n<p>Vid den tiden valdes servern fr\u00e5n poolen enligt en ganska simpel algoritm: varje server hade sin egen \"vikt\" som berodde p\u00e5 bandbredd och kapacitet, och vi f\u00f6rs\u00f6kte skicka anv\u00e4ndare till den med h\u00f6gre \"vikt\", utan att ta h\u00e4nsyn till var anv\u00e4ndaren geografiskt befann sig. Som ett resultat kunde en l\u00e4rare fr\u00e5n Sankt Petersburg kommunicera med en student fr\u00e5n Sibirien via Moskva, ist\u00e4llet f\u00f6r att g\u00e5 genom v\u00e5r Janus-server i Sankt Petersburg.<\/p>\n<p>Algoritmen har omarbetats: nu, n\u00e4r en anv\u00e4ndare \u00f6ppnar v\u00e5r plattform, samlar vi in pings via Ajax fr\u00e5n honom till alla servrar. Vid uppr\u00e4ttande av anslutningen v\u00e4ljer vi ett par pings (l\u00e4rare-server och student-server) med den l\u00e4gsta summan. L\u00e4ngre ping inneb\u00e4r kortare n\u00e4tverksavst\u00e5nd till servern; kortare avst\u00e5nd \u2014 l\u00e4gre sannolikhet att f\u00f6rlora paket; paketf\u00f6rlust \u00e4r det st\u00f6rsta negativa faktorn i videosamtal. Negativitetsandelen sj\u00f6nk med h\u00e4lften under tre m\u00e5nader (f\u00f6r r\u00e4ttvisans skull, under denna tid genomf\u00f6rdes ocks\u00e5 andra experiment, men denna p\u00e5verkade n\u00e4stan s\u00e4kert mest).<\/p>\n<p><img decoding=\"async\" alt=\"Fr\u00e5n Skype till WebRTC: hur vi organiserade videosamtal via webben\" src=\"\/wp-content\/uploads\/2019\/04\/a106f7701b34c03080251710adf2a7a0.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p><img decoding=\"async\" alt=\"Fr\u00e5n Skype till WebRTC: hur vi organiserade videosamtal via webben\" src=\"\/wp-content\/uploads\/2019\/04\/2cd6782e5f4182004a0c0d9dd05dba5b.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>Nyligen uppt\u00e4ckte vi ytterligare en icke-uppenbar men tydligen viktig sak: ist\u00e4llet f\u00f6r en kraftfull Janus-server p\u00e5 en bred kanal \u00e4r det b\u00e4ttre med tv\u00e5 enklare med l\u00e4gre bandbredd. Detta blev uppenbart efter att vi k\u00f6pt riktigt kraftfulla maskiner i f\u00f6rhoppningen att kunna rymma s\u00e5 m\u00e5nga rum (kommunikationssessioner) som m\u00f6jligt samtidigt. Servrarna har en bandbreddsgr\u00e4ns som vi kan \u00f6vers\u00e4tta till antalet rum \u2014 vi vet hur m\u00e5nga rum vi kan \u00f6ppna, till exempel p\u00e5 300 Mbit\/s. S\u00e5 snart f\u00f6r m\u00e5nga rum \u00f6ppnas p\u00e5 servern slutar vi v\u00e4lja den f\u00f6r nya sessioner tills belastningen sjunker. Tanken var att genom att k\u00f6pa en kraftfull maskin maximalt ladda kanalen s\u00e5 att vi i slut\u00e4ndan begriper oss p\u00e5 processorn och minnet, och inte bandbredden. Men det visade sig att efter ett visst antal \u00f6ppnade rum (420), trots att processor-, minnes- och diskbelastningen fortfarande \u00e4r l\u00e5ngt ifr\u00e5n gr\u00e4nserna, b\u00f6rjar negativ feedback komma till supporten. Tydligen blir n\u00e5got s\u00e4mre inuti Janus, kanske finns det ocks\u00e5 n\u00e5gra begr\u00e4nsningar d\u00e4r. Vi b\u00f6rjade experimentera och s\u00e4nkte bandbreddsgr\u00e4nsen fr\u00e5n 300 till 200 Mbit\/s, problemet f\u00f6rsvann. Nu har vi k\u00f6pt tre nya servrar med l\u00e5ga begr\u00e4nsningar och specifikationer och tror att detta kommer att leda till stabila f\u00f6rb\u00e4ttringar i kommunikationskvaliteten. Vi granskade inte vad problemet var, naturligtvis, provisoriska l\u00f6sningar \u00e4r allt f\u00f6r oss. Till v\u00e5rt f\u00f6rsvar s\u00e4ger vi att det i det \u00f6gonblicket var viktigt att snabbt l\u00f6sa det akuta problemet och inte g\u00f6ra det fint; dessutom \u00e4r Janus en svart l\u00e5da f\u00f6r oss, skriven i C, och det \u00e4r mycket kostsamt att gr\u00e4va i.<\/p>\n<p><img decoding=\"async\" alt=\"Fr\u00e5n Skype till WebRTC: hur vi organiserade videosamtal via webben\" src=\"\/wp-content\/uploads\/2019\/04\/21ad5290ed3e40bdf0b26dfb5c20cdf8.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>Och i processen gjorde vi:<\/p>\n<ul>\n<li>uppdaterade alla beroenden som kunde uppdateras, b\u00e5de p\u00e5 servern och p\u00e5 klienten (detta var ocks\u00e5 experiment, vi f\u00f6ljde resultaten);<\/li>\n<li>fixade alla identifierade buggar som r\u00f6rde specifika fall, till exempel n\u00e4r anslutningen f\u00f6ll och inte \u00e5terst\u00e4lldes automatiskt;<\/li>\n<li>h\u00f6ll m\u00e4ngder av m\u00f6ten med f\u00f6retag som arbetar inom videokommunikation och \u00e4r bekanta med v\u00e5ra problem: som streamar spel och arrangerar webbinarier; testade allt som verkar anv\u00e4ndbart;<\/li>\n<li>genomf\u00f6rde en teknisk granskning av h\u00e5rdvaran och kommunikationskvaliteten hos l\u00e4rarna som fick flest klagom\u00e5l.<\/li>\n<\/ul>\n<p>Genomf\u00f6rda experiment och de efterf\u00f6ljande f\u00f6r\u00e4ndringarna har gjort det m\u00f6jligt att minska missn\u00f6jet med kommunikationen bland l\u00e4rare fr\u00e5n 7,1% i januari 2018 till 2,5% i januari 2019.<\/p>\n<h2 id=\"chto-dalshe\">Vad h\u00e4nder h\u00e4rn\u00e4st<\/h2>\n<p>Stabilisering av v\u00e5r plattform Vimbox \u00e4r ett av f\u00f6retagets huvudprojekt f\u00f6r 2019. Vi har stora f\u00f6rhoppningar om att vi ska kunna beh\u00e5lla denna dynamik och slippa se videokommunikation p\u00e5 toppen av klagom\u00e5len. Vi f\u00f6rst\u00e5r att en betydande del av dessa klagom\u00e5l \u00e4r relaterade till anv\u00e4ndarnas datorer och internetlagg, men vi m\u00e5ste identifiera denna del och l\u00f6sa allt annat. Allt annat \u00e4r ett tekniskt problem, och vi borde kunna hantera det.<\/p>\n<p>Huvudsv\u00e5righeten \u00e4r att vi inte vet hur mycket kvalit\u00e9n verkligen kan f\u00f6rb\u00e4ttras. Att ta reda p\u00e5 denna gr\u00e4ns \u00e4r v\u00e5r huvuduppgift. D\u00e4rf\u00f6r har vi planerat tv\u00e5 experiment:<\/p>\n<ol>\n<li>att j\u00e4mf\u00f6ra video genom Janus med vanlig p2p i praktiska f\u00f6rh\u00e5llanden. Detta experiment har redan genomf\u00f6rts, och ingen statistiskt signifikant skillnad mellan v\u00e5r l\u00f6sning och p2p har uppt\u00e4ckts;<\/li>\n<li>att installera (dyra) tj\u00e4nster fr\u00e5n f\u00f6retag som enbart tj\u00e4nar p\u00e5 l\u00f6sningar inom videokommunikation, och j\u00e4mf\u00f6ra deras negativa respons med den vi har.<\/li>\n<\/ol>\n<p>Dessa tv\u00e5 experiment kommer att hj\u00e4lpa oss att best\u00e4mma det uppn\u00e5eliga m\u00e5let och fokusera p\u00e5 det.<\/p>\n<p>Dessutom finns det ett antal uppgifter som l\u00f6ses i det dagliga arbetet:<\/p>\n<ul>\n<li>vi skapar en teknisk kvalitetsmetrik f\u00f6r kommunikationen ist\u00e4llet f\u00f6r subjektiva recensioner;<\/li>\n<li>vi g\u00f6r mer detaljerade loggar \u00f6ver sessionerna f\u00f6r att mer noggrant kunna analysera intr\u00e4ffande fel, f\u00f6rst\u00e5 n\u00e4r och var de intr\u00e4ffade, samt vilka till synes orelaterade h\u00e4ndelser som intr\u00e4ffade vid det tillf\u00e4llet;<\/li>\n<li>vi f\u00f6rbereder ett automatiskt test av kommunikationskvaliteten f\u00f6re lektionen, och ger \u00e4ven klienten m\u00f6jlighet att manuellt testa kommunikationen, f\u00f6r att minska antalet negativa upplevelser orsakade av deras h\u00e5rdvara och kanal;<\/li>\n<li>vi kommer att utveckla och genomf\u00f6ra fler belastningstester av videokommunikation under d\u00e5liga f\u00f6rh\u00e5llanden, med variabel packetf\u00f6rlust osv.;<\/li>\n<li>vi \u00e4ndrar servrarnas beteende vid problem f\u00f6r att \u00f6ka felresiliensen;<\/li>\n<li>vi kommer att varna anv\u00e4ndaren om det finns n\u00e5got fel med kommunikationen, precis som Skype g\u00f6r, s\u00e5 att de f\u00f6rst\u00e5r att problemet ligger p\u00e5 deras sida.<\/li>\n<\/ul>\n<p>Fr\u00e5n och med april blir videokommunikation en helt egen avdelning inom Skyeng, som sysslar med sin egen produkt, och inte bara en del av Vimbox. Det betyder att vi b\u00f6rjar leta efter personer f\u00f6r <noindex><a rel=\"nofollow\" href=\"https:\/\/spb.hh.ru\/vacancy\/30766332\">heltidsarbete med video<\/a><\/noindex>. Som alltid <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/skyeng\/blog\/446444\/\">letar vi efter m\u00e5nga duktiga personer<\/a><\/noindex>.<\/p>\n<p>. Sj\u00e4lvklart forts\u00e4tter vi att aktivt kommunicera med personer och f\u00f6retag som arbetar med videokommunikation. Om du vill dela erfarenheter med oss \u2013 vi ser fram emot det! Kommentera, h\u00f6r av dig \u2013 vi svarar alla.<\/p>\n<p>K\u00e4lla: <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.4 - 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\/sv\/blog\/administrirovanie\/ot-skype-do-webrtc-kak-my-organizovali-videosvyaz-cherez-veb\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\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\/sv\/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\udd47Fr\u00e5n Skype till WebRTC: hur vi organiserade videokommunikation via webben | ProHoster","description":"Videokommunikation \u00e4r det fr\u00e4msta s\u00e4ttet att kommunicera.","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/ot-skype-do-webrtc-kak-my-organizovali-videosvyaz-cherez-veb","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","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\/sv\/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\/sv\/wp-json\/wp\/v2\/posts\/30842","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=30842"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/30842\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media\/22826"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=30842"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=30842"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=30842"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}