{"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\/da\/blog\/administrirovanie\/ot-skype-do-webrtc-kak-my-organizovali-videosvyaz-cherez-veb","title":{"rendered":"Fra Skype til WebRTC: s\u00e5dan organiserede vi videoopkald via web","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Fra Skype til WebRTC: s\u00e5dan organiserede vi videoopkald via web\" src=\"\/wp-content\/uploads\/2019\/04\/92ea7848049d68c0b41b821bc8b83d54.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>Videokonference er den prim\u00e6re kommunikationsmetode mellem underviser og studerende p\u00e5 platformen Vimbox. Vi er l\u00e6nge blevet enige om at stoppe med Skype, har pr\u00f8vet flere tredjeparters l\u00f8sninger, og endte til sidst med at anvende WebRTC - Janus-gateway. I noget tid var vi tilfredse, men der dukkede stadig nogle negative punkter op. I sidste ende blev der oprettet en separat afdeling for video.<\/p>\n<p>Jeg bad Kirill Rogovoy, lederen af den nye afdeling, om at fort\u00e6lle om evolutionen af videokonferencer i Skyeng, om de problemer, der blev opdaget, l\u00f8sningerne og de hacks, som vi endte med at anvende. Vi h\u00e5ber, at artiklen vil v\u00e6re nyttig for virksomheder, der ogs\u00e5 fors\u00f8ger at implementere video gennem deres webapp.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2 id=\"nemnogo-istorii\">Lidt historie<\/h2>\n<p>Sommer 2017 pr\u00e6senterede udviklingschef for Skyeng, Sergey Safonov, p\u00e5 Backend Conf om, hvordan vi \"opgav Skype og implementerede WebRTC\". De interesserede kan se optagelsen af pr\u00e6sentationen p\u00e5 <noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/0BiE1Rt-bak\">linket<\/a><\/noindex> (~45 min), og her vil jeg kort opsummere essensen.<\/p>\n<p>For Skyeng var videokonference altid den prioriterede kommunikationsmetode mellem l\u00e6rer og elev. I starten brugte vi \"Skype\", men det var uacceptabelt af en r\u00e6kke \u00e5rsager, f\u00f8rst og fremmest p\u00e5 grund af manglen p\u00e5 logs og umuligheden af integration direkte i webapplikationen. Derfor foretog vi forskellige eksperimenter.<\/p>\n<p>Faktisk havde vi f\u00f8lgende krav til videokonferencer:<br \/>\n\u2014 stabilitet;<br \/>\n\u2014 lav pris pr. undervisning;<br \/>\n\u2014 optagelse af lektioner;<br \/>\n\u2014 sporing af hvem der taler hvorn\u00e5r (det er vigtigt for os, at eleverne taler mere end underviseren i lektionerne);<br \/>\n\u2014 line\u00e6r skalering;<br \/>\n\u2014 mulighed for at bruge b\u00e5de UDP og TCP.<\/p>\n<p>I 2013 pr\u00f8vede vi f\u00f8rst at implementere Tokbox. Det fungerede godt, men det blev meget dyrt - 113 rubler pr. lektion - og det tog en del af indtjeningen.<\/p>\n<p>Derefter, i 2015, integrerede vi Voximplant. Her var den funktion, vi havde brug for, til at spore, hvem der taler hvorn\u00e5r, og samtidig var l\u00f8sningen betydeligt billigere: hvis vi kun optog lyden, var prisen 20 rubler pr. lektion. Det fungerede dog kun via UDP, det kunne ikke skifte til TCP. Ikke desto mindre brugte omkring 40% af eleverne det.<\/p>\n<p>Et \u00e5r senere begyndte vi at f\u00e5 erhvervskunder med deres specifikke krav. For eksempel skal alt fungere via browseren, og der er kun \u00e5bent for http og https i firmaet; dvs. ingen 'Skype' og UDP. Erhvervskunder = penge, s\u00e5 vi vendte tilbage til Tokbox, men prisproblemet forsvandt ikke.<\/p>\n<h2 id=\"reshenie----webrtc-i-janus\">L\u00f8sningen er WebRTC og Janus.<\/h2>\n<p>Vi har besluttet at bruge <noindex><a rel=\"nofollow\" href=\"https:\/\/webrtc.org\/\">browserplatformen til peer-to-peer videokommunikation WebRTC.<\/a><\/noindex>Den h\u00e5ndterer oprettelsen af forbindelser, kodning og dekodning af streams, synkronisering af spor og kvalitetskontrol med h\u00e5ndtering af netv\u00e6rksproblemer. P\u00e5 vores side skal vi sikre, at vi kan l\u00e6se streams fra kameraet og mikrofonen, tegne videoen, styre forbindelsen, oprette WebRTC-forbindelsen og sende streams til den, samt overf\u00f8re signalbeskeder mellem kunderne for at etablere forbindelsen (selve WebRTC beskriver kun dataformatet, men ikke transmissionsmekanismen). Hvis kunderne befinder sig bag NAT, forbinder WebRTC med STUN-servere, og hvis det ikke hj\u00e6lper, bruger den TURN-servere.<\/p>\n<p>Et almindeligt p2p-forbindelse er ikke nok for os, da vi \u00f8nsker at optage lektioner til senere analyse i tilf\u00e6lde af klager. Derfor sender vi WebRTC-streams gennem en rel\u00e6. <noindex><a rel=\"nofollow\" href=\"https:\/\/janus.conf.meetecho.com\/\">Janus Gateway fra Meetecho.<\/a><\/noindex>Som resultat kender kunderne ikke adressen p\u00e5 hinanden, men ser kun adressen p\u00e5 Janus-serveren; den fungerer ogs\u00e5 som signalserver. Janus har mange af de funktioner, vi har brug for: den skifter automatisk til TCP, hvis UDP er blokeret for kunden; den kan optage b\u00e5de UDP- og TCP-streams; den kan skaleres; og der er endda en indbygget plugin til ekkotests. Ved behov tilsluttes STUN og TURN-servere fra Twilio automatisk.<\/p>\n<p>I sommeren 2017 havde vi to Janus-servere i drift plus en ekstra server til behandling af de optagede r\u00e5 audio- og videofiler for at undg\u00e5 at belaste processorerne p\u00e5 de prim\u00e6re. Ved tilslutning blev Janus-serverne valgt efter princippet om lige-ulige (forbindelsesnummer). P\u00e5 det tidspunkt var det tilstr\u00e6kkeligt, og vi f\u00f8lte, at det gav cirka fire gange sikkerhedsmargen, mens implementeringen var omkring 80 procent. Samtidig blev prisen reduceret til cirka 2 rubler per lektion, plus udvikling og support.<\/p>\n<p><img decoding=\"async\" alt=\"Fra Skype til WebRTC: s\u00e5dan organiserede vi videoopkald via web\" src=\"\/wp-content\/uploads\/2019\/04\/fd1cd47a6625f1ddaa20ed2a6067be60.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<h2 id=\"vozvraschenie-k-teme-videosvyazi\">Tilbage til emnet videokommunikation.<\/h2>\n<p>Vi overv\u00e5ger konstant feedback fra elever og l\u00e6rere for hurtigt at identificere og afb\u00f8de problemer. I sommeren 2018 blev kvaliteten af forbindelsen fast etableret som det prim\u00e6re klagepunkt. P\u00e5 den ene side bet\u00f8d det, at vi havde haft succes med at h\u00e5ndtere de \u00f8vrige mangler. P\u00e5 den anden side var det n\u00f8dvendigt at handle hurtigt: hvis en lektion blev afbrudt, risikerer vi at miste dens v\u00e6rdi, nogle gange sammen med v\u00e6rdien af at k\u00f8be det n\u00e6ste pakke, og ved afbrydelse af introduktionsbetalingen kan vi i v\u00e6rste fald miste en potentiel kunde.<\/p>\n<p>P\u00e5 det tidspunkt var vores videoforbindelse stadig i MVP-tilstand. Kort sagt, vi startede, det fungerede, skalerede \u00e9n gang, fandt ud af, hvordan det skulle g\u00f8res \u2013 og s\u00e5 var det godt. If it works, don\u2019t fix it. Ingen havde specifikt fokus p\u00e5 kvaliteten af forbindelsen. Inden august blev det klart, at det ikke kunne forts\u00e6tte s\u00e5dan, og vi lancerede en separat afdeling for at finde ud af, hvad der egentlig var galt med WebRTC og Janus.<\/p>\n<p>Indgangen til denne afdeling var: MVP-l\u00f8sning, ingen m\u00e5linger, ingen m\u00e5l, ingen processer til forbedring, samtidig klager 7% af l\u00e6rerne over forbindelseskvaliteten (data om eleverne var heller ikke tilg\u00e6ngelige).<\/p>\n<p><img decoding=\"async\" alt=\"Fra Skype til WebRTC: s\u00e5dan organiserede vi videoopkald via web\" src=\"\/wp-content\/uploads\/2019\/04\/f8134229567f1187b00ec5c21a79800c.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<h2 id=\"novoe-napravlenie-beretsya-za-rabotu\">Den nye afdeling tager fat p\u00e5 opgaverne<\/h2>\n<p>Kommandoen ser s\u00e5dan ud:<\/p>\n<ul>\n<li>Afdelingslederen, som ogs\u00e5 er hovedudvikleren.<\/li>\n<li>QA hj\u00e6lper med at teste \u00e6ndringer, leder efter nye m\u00e5der at skabe ustabile forbindelsesforhold p\u00e5 og rapporterer om problemer fra frontlinjen.<\/li>\n<li>Analytikeren s\u00f8ger konstant efter forskellige korrelationer i tekniske data, forbedrer analysen af brugerfeedback og tjekker resultaterne af eksperimenter.<\/li>\n<li>Produktchefen hj\u00e6lper med den overordnede retning og tildeling af ressourcer til eksperimenter.<\/li>\n<li>Den anden udvikler hj\u00e6lper ofte med selve programmeringen og relaterede opgaver.<\/li>\n<\/ul>\n<p>I starten indstillede vi en relativt p\u00e5lidelig metrik, der overv\u00e5gede \u00e6ndringer i vurderingerne af forbindelseskvaliteten (gennemsnit over dage, uger, m\u00e5neder). P\u00e5 det tidspunkt var det vurderinger fra l\u00e6rerne, senere blev der tilf\u00f8jet vurderinger fra studerende. Derefter begyndte vi at formulere hypoteser om, hvad der ikke fungerede, rette op p\u00e5 det og se p\u00e5 \u00e6ndringerne i dynamikken. Vi gik efter de lavth\u00e6ngende frugter: for eksempel udskiftede vi codec vp8 med vp9, og resultaterne forbedredes. Vi pr\u00f8vede at lege med Janus' indstillinger, udf\u00f8re andre eksperimenter \u2013 som i de fleste tilf\u00e6lde ikke gav resultater.<\/p>\n<p>I det andet trin kom hypotesen frem: WebRTC er en peer-to-peer l\u00f8sning, men vi bruger en server i midten. M\u00e5ske ligger problemet her? Vi begyndte at unders\u00f8ge dette og fandt den mest betydelige forbedring indtil videre.<\/p>\n<p>P\u00e5 det tidspunkt blev serveren valgt fra puljen ved hj\u00e6lp af en ret simpel algoritme: hver server havde sin egen 'v\u00e6gt', der afh\u00e6nger af b\u00e5ndbredde og kapacitet, og vi fors\u00f8gte at sende brugeren til den med den h\u00f8jeste 'v\u00e6gt', uden at tage hensyn til, hvor brugeren geografisk befandt sig. Som et resultat kunne en l\u00e6rer fra Sankt Petersborg kommunikere med en elev fra Sibirien gennem Moskva, og ikke via vores Janus-server i Sankt Petersborg.<\/p>\n<p>Algoritmen blev redesignet: nu, n\u00e5r brugeren \u00e5bner vores platform, indsamler vi ved hj\u00e6lp af Ajax pingdata fra dem til alle servere. Ved oprettelse af forbindelsen v\u00e6lger vi et s\u00e6t pings (l\u00e6rer-server og elev-server) med den laveste samlede v\u00e6rdi. Mindre ping betyder mindre netv\u00e6rksafstand til serveren; mindre afstand betyder lavere sandsynlighed for packettab; packettab er den st\u00f8rste negative faktor i videokommunikation. Andelen af negativ feedback er faldet med det halve p\u00e5 tre m\u00e5neder (for retf\u00e6rdighedens skyld blev der ogs\u00e5 udf\u00f8rt andre eksperimenter i denne periode, men dette har n\u00e6sten helt sikkert haft den st\u00f8rste indflydelse).<\/p>\n<p><img decoding=\"async\" alt=\"Fra Skype til WebRTC: s\u00e5dan organiserede vi videoopkald via web\" src=\"\/wp-content\/uploads\/2019\/04\/a106f7701b34c03080251710adf2a7a0.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p><img decoding=\"async\" alt=\"Fra Skype til WebRTC: s\u00e5dan organiserede vi videoopkald via web\" src=\"\/wp-content\/uploads\/2019\/04\/2cd6782e5f4182004a0c0d9dd05dba5b.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>For nylig opdagede vi en anden mindre \u00e5benbar, men angiveligt vigtig ting: i stedet for \u00e9n kraftig Janus-server p\u00e5 en bred forbindelse er det bedre med to mindre servere med lavere b\u00e5ndbredde. Dette blev klart, efter at vi k\u00f8bte potente maskiner i h\u00e5bet om at kunne rumme s\u00e5 mange rum (kommunikationssessioner) som muligt p\u00e5 \u00e9n gang. Serverne har en begr\u00e6nsning for b\u00e5ndbredde, som vi kan overs\u00e6tte til antal rum \u2014 vi ved, hvor mange vi kan \u00e5bne, f.eks. ved 300 Mbit\/s. S\u00e5 snart der er \u00e5bnet for mange rum p\u00e5 serveren, stopper vi med at v\u00e6lge den til nye sessioner, indtil belastningen falder. Ideen var, at ved at k\u00f8be en kraftig maskine ville vi maksimere belastningen p\u00e5 forbindelsen, s\u00e5 vi i stedet ramte begr\u00e6nsningerne for CPU og hukommelse og ikke b\u00e5ndbredden. Men det viste sig, at efter et bestemt antal \u00e5bne rum (420), p\u00e5 trods af at belastningen for CPU, hukommelse og disk stadig var langt fra gr\u00e6nserne, begyndte teknisk support at modtage negative tilbagemeldinger. Angiveligt bliver noget v\u00e6rre inde i Janus, m\u00e5ske er der ogs\u00e5 nogle begr\u00e6nsninger der. Vi begyndte at eksperimentere, s\u00e6nkede b\u00e5ndbredden fra 300 til 200 Mbit\/s, og problemerne forsvandt. Nu har vi k\u00f8bt tre nye servere med lavere gr\u00e6nser og specifikationer, vi mener, at dette vil f\u00f8re til en stabil forbedring af kommunikationskvaliteten. Vi gik ikke ind i detaljerne omkring, hvad der egentlig skete, vi accepterer bare, at vi m\u00e5 kompensere. Til vores forsvar m\u00e5 vi sige, at vi p\u00e5 det tidspunkt skulle l\u00f8se det presserende problem s\u00e5 hurtigt som muligt og ikke n\u00f8dvendigvis smukt; desuden er Janus for os en sort boks, skrevet i C, s\u00e5 det er meget dyrt at grave i.<\/p>\n<p><img decoding=\"async\" alt=\"Fra Skype til WebRTC: s\u00e5dan organiserede vi videoopkald via web\" src=\"\/wp-content\/uploads\/2019\/04\/21ad5290ed3e40bdf0b26dfb5c20cdf8.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>Og i processen gjorde vi:<\/p>\n<ul>\n<li>opdaterede alle afh\u00e6ngigheder, der kunne opdateres, b\u00e5de p\u00e5 serveren og klienten (disse var ogs\u00e5 eksperimenter, vi holdt \u00f8je med resultaterne);<\/li>\n<li>rettede alle identificerede fejl, der omhandlede specifikke tilf\u00e6lde, f.eks. n\u00e5r forbindelsen faldt og ikke genoprettede sig automatisk;<\/li>\n<li>afholdte adskillige m\u00f8der med virksomheder, der arbejder inden for videokommunikation og kender vores problemer: dem, der streamer spil, holder webinarer; vi afpr\u00f8vede alt, hvad vi fandt nyttigt;<\/li>\n<li>foretog en teknisk gennemgang af udstyret og kvaliteten af forbindelsen hos de l\u00e6rere, der havde modtaget flest klager.<\/li>\n<\/ul>\n<p>De gennemf\u00f8rte eksperimenter og de efterf\u00f8lgende \u00e6ndringer har gjort det muligt at reducere misforn\u00f8jelsen med forbindelsen blandt l\u00e6rerne fra 7,1% i januar 2018 til 2,5% i januar 2019.<\/p>\n<h2 id=\"chto-dalshe\">vil v\u00e6re udsolgt<\/h2>\n<p>Stabilisering af vores platform Vimbox er et af virksomhedens hovedprojekter for 2019. Vi har store forh\u00e5bninger om at bevare dynamikken og ikke l\u00e6ngere se videoforbindelse p\u00e5 toppen af klagerne. Vi forst\u00e5r, at en betydelig del af disse klager er relateret til brugernes computer- og internetlag, men vi skal identificere denne del og l\u00f8se alt andet. Alt andet er et teknisk problem, som vi b\u00f8r kunne h\u00e5ndtere.<\/p>\n<p>Den st\u00f8rste udfordring er, at vi ikke ved, hvor meget vi reelt kan forbedre kvaliteten. At finde denne gr\u00e6nse er den vigtigste opgave. Derfor er to eksperimenter planlagt:<\/p>\n<ol>\n<li>sammenligne video via Janus med almindelig p2p i realtid. Dette eksperiment er allerede udf\u00f8rt, og der blev ikke fundet statistisk signifikante forskelle mellem vores l\u00f8sning og p2p;<\/li>\n<li>vi vil installere (dyre) tjenester fra virksomheder, der kun leverer l\u00f8sninger inden for videoforbindelser, og sammenligne m\u00e6ngden af negativ respons fra dem med den nuv\u00e6rende.<\/li>\n<\/ol>\n<p>Disse to eksperimenter vil g\u00f8re det muligt for os at fastsl\u00e5 et opn\u00e5eligt m\u00e5l og fokusere p\u00e5 det.<\/p>\n<p>Derudover er der en r\u00e6kke opgaver, der l\u00f8ses i arbejder\u00e6kkef\u00f8lge:<\/p>\n<ul>\n<li>vi skaber en teknisk m\u00e5ling af forbindelseskvalitet i stedet for subjektive anmeldelser;<\/li>\n<li>vi laver mere detaljerede session logs for bedre at analysere opst\u00e5ede fejl, forst\u00e5 hvorn\u00e5r og hvor de pr\u00e6cist opstod, og hvilke tilsyneladende urelaterede h\u00e6ndelser der fandt sted p\u00e5 det tidspunkt;<\/li>\n<li>vi forbereder en automatisk test af forbindelseskvaliteten f\u00f8r lektionen, og giver ogs\u00e5 kunden mulighed for manuelt at teste forbindelsen for at reducere m\u00e6ngden af negative anmeldelser for\u00e5rsaget af hans hardware og kanal;<\/li>\n<li>vi vil udvikle og gennemf\u00f8re flere belastningstests af videoforbindelser under d\u00e5rlige forhold, med variabel pakktab osv.;<\/li>\n<li>vi \u00e6ndrer servernes adf\u00e6rd i tilf\u00e6lde af problemer for at \u00f8ge fejltolerance;<\/li>\n<li>vi vil advare brugeren, hvis der generelt er noget galt med forbindelsen, som det g\u00f8res af Skype, s\u00e5 han forst\u00e5r, at problemet er p\u00e5 hans side.<\/li>\n<\/ul>\n<p>Fra april bliver videokommunikation et fuldt udskilt projekt inden for Skyeng, der fokuserer p\u00e5 sit eget produkt, ikke blot en del af Vimbox. Det betyder, at vi begynder at lede efter folk til <noindex><a rel=\"nofollow\" href=\"https:\/\/spb.hh.ru\/vacancy\/30766332\">fuldtidsarbejde med video<\/a><\/noindex>. Som altid <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/skyeng\/blog\/446444\/\">s\u00f8ger vi mange dygtige personer<\/a><\/noindex>.<\/p>\n<p>Og selvf\u00f8lgelig forts\u00e6tter vi med aktivt at kommunikere med folk og virksomheder, der arbejder med videokommunikation. Hvis du \u00f8nsker at dele erfaringer med os - vil vi v\u00e6re glade! Kommenter, kontakt os - vi svarer alle.<\/p>\n<p>Kilde: <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.3 - 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\/da\/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.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"da_DK\" \/>\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\/da\/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\udd47Fra Skype til WebRTC: hvordan vi organiserede videokommunikation via web | ProHoster","description":"Videokommunikation er den prim\u00e6re kommunikationsmetode.","canonical_url":"https:\/\/prohoster.info\/da\/blog\/administrirovanie\/ot-skype-do-webrtc-kak-my-organizovali-videosvyaz-cherez-veb","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"da_DK","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\/da\/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\/da\/wp-json\/wp\/v2\/posts\/30842","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/comments?post=30842"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/30842\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media\/22826"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=30842"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=30842"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=30842"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}