{"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\/sk\/blog\/administrirovanie\/ot-skype-do-webrtc-kak-my-organizovali-videosvyaz-cherez-veb","title":{"rendered":"Od Skype po WebRTC: ako sme zorganizovali videohovor cez web","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Od Skype po WebRTC: ako sme zorganizovali videohovor cez web\" src=\"\/wp-content\/uploads\/2019\/04\/92ea7848049d68c0b41b821bc8b83d54.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>Videohovory s\u00fa hlavn\u00fdm sp\u00f4sobom komunik\u00e1cie u\u010dite\u013ea a \u0161tudenta na platforme Vimbox. U\u017e d\u00e1vno sme sa vzdali Skypu, vysk\u00fa\u0161ali sme nieko\u013eko extern\u00fdch rie\u0161en\u00ed a nakoniec sme sa rozhodli pre kombin\u00e1ciu WebRTC \u2013 Janus-gateway. Po ur\u010dit\u00fd \u010das sme boli so v\u0161etk\u00fdm spokojn\u00ed, ale aj napriek tomu sa st\u00e1le objavovali niektor\u00e9 negat\u00edvne momenty. Nakoniec sme vytvorili samostatn\u00fd smer pre video.<\/p>\n<p>Po\u017eiadal som Kirilla Rogovogo, ved\u00faceho nov\u00e9ho smeru, aby n\u00e1m prerozpr\u00e1val evol\u00faciu videohovoru v Skyeng, objaven\u00e9 probl\u00e9my, rie\u0161enia a obmedzenia, ktor\u00e9 sme nakoniec pou\u017eili. D\u00fafame, \u017ee \u010dl\u00e1nok bude u\u017eito\u010dn\u00fd aj pre firmy, ktor\u00e9 takisto implementuj\u00fa video cez webov\u00fa aplik\u00e1ciu.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2 id=\"nemnogo-istorii\">Trochu hist\u00f3rie<\/h2>\n<p>V lete 2017 predstavil ved\u00faci v\u00fdvoja Skyeng Sergej Safonov na Backend Conf t\u00e9mu, ako sme \u201es Skypom skon\u010dili a implementovali WebRTC\u201c. Z\u00e1ujemcovia si m\u00f4\u017eu pozrie\u0165 z\u00e1znam jeho vyst\u00fapenia na <noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/0BiE1Rt-bak\">odkaze<\/a><\/noindex> (~45 min), a tu zhrniem jeho z\u00e1kladn\u00e9 my\u0161lienky.<\/p>\n<p>Pre \u0161kolu Skyeng boli videohovory v\u017edy prioritn\u00fdm sp\u00f4sobom komunik\u00e1cie u\u010dite\u013e-\u017eiak. Na za\u010diatku sme pou\u017e\u00edvali \u201eSkype\u201c, ale ten n\u00e1s z viacer\u00fdch d\u00f4vodov absol\u00fatne neuspokojoval, predov\u0161etk\u00fdm kv\u00f4li nedostatku logov a nemo\u017enosti integr\u00e1cie priamo do webovej aplik\u00e1cie. Preto sme realizovali r\u00f4zne experimenty.<\/p>\n<p>Po\u017eiadavky na videohovor boli pribli\u017ene tak\u00e9to:<br \/>\n\u2014 stabilita;<br \/>\n\u2014 n\u00edzka cena za hodinu;<br \/>\n\u2014 nahr\u00e1vanie hod\u00edn;<br \/>\n\u2014 sledovanie, kto ko\u013eko hovor\u00ed (je pre n\u00e1s d\u00f4le\u017eit\u00e9, aby \u017eiaci hovorili na hodin\u00e1ch viac ako u\u010ditelia);<br \/>\n\u2014 line\u00e1rne \u0161k\u00e1lovanie;<br \/>\n\u2014 mo\u017enos\u0165 pou\u017e\u00edva\u0165 ako UDP, tak aj TCP.<\/p>\n<p>Prv\u00fdm, ktor\u00fd sme v roku 2013 vysk\u00fa\u0161ali implementova\u0165, bol Tokbox. V\u0161etko bolo v poriadku, ale bolo to ve\u013emi drah\u00e9 \u2013 113 rub\u013eov za hodinu \u2013 a konzumovalo to zisk.<\/p>\n<p>Potom sme v roku 2015 integrovali Voximplant. Tu bola potrebn\u00e1 funkcia sledovania, kto ko\u013eko hovor\u00ed, a z\u00e1rove\u0148 bolo toto rie\u0161enie v\u00fdrazne lacnej\u0161ie: za podmienky nahr\u00e1vania iba zvuku to vy\u0161lo na 20 rub\u013eov za hodinu. Av\u0161ak fungovalo to iba cez UDP, prepn\u00fa\u0165 sa na TCP to nevedelo. Napriek tomu to nakoniec pou\u017e\u00edvalo asi 40% \u017eiakov.<\/p>\n<p>Po roku sme za\u010dali z\u00edskava\u0165 firemn\u00fdch klientov s ich \u0161pecifick\u00fdmi po\u017eiadavkami. Napr\u00edklad, v\u0161etko mus\u00ed fungova\u0165 cez prehliada\u010d, v spolo\u010dnosti s\u00fa povolen\u00e9 iba http a https; teda \u017eiadne \u201eSkypy\u201c a UDP. Firemn\u00ed klienti = peniaze, preto sme sa vr\u00e1tili k Tokboxu, ale probl\u00e9m s cenou nezmizol.<\/p>\n<h2 id=\"reshenie----webrtc-i-janus\">Rie\u0161enie \u2014 WebRTC a Janus<\/h2>\n<p>Rozhodli sme sa pou\u017ei\u0165 <noindex><a rel=\"nofollow\" href=\"https:\/\/webrtc.org\/\">prehliada\u010dov\u00fa platformu pre peer-to-peer videohovor WebRTC<\/a><\/noindex>. Zabezpe\u010duje nadv\u00e4zovanie spojenia, k\u00f3dovanie a dek\u00f3dovanie pr\u00fadov, synchroniz\u00e1ciu st\u00f4p a kontrolu kvality s riaden\u00edm sie\u0165ov\u00fdch probl\u00e9mov. Z na\u0161ej strany mus\u00edme zabezpe\u010di\u0165 \u010d\u00edtanie pr\u00fadov z kamery a mikrof\u00f3nu, vykreslovanie videa, spr\u00e1vu spojenia, nastavenie WebRTC pripojenia a prenos pr\u00fadov na\u0148, ako aj prenos sign\u00e1lnych spr\u00e1v medzi klientmi na nadviazanie spojenia (s\u00e1m WebRTC opisuje iba form\u00e1t d\u00e1t, ale nie mechanizmus ich prenosu). V pr\u00edpade, \u017ee s\u00fa klienti za NAT, WebRTC sa pripojuje k STUN serverom, ak to nepom\u00e1ha, TURN serverom.<\/p>\n<p>Zvy\u010dajn\u00e9ho p2p spojenia n\u00e1m nesta\u010d\u00ed, preto\u017ee chceme nahr\u00e1va\u0165 lekcie pre \u010fal\u0161iu anal\u00fdzu v pr\u00edpade reklam\u00e1ci\u00ed. Preto pren\u00e1\u0161ame pr\u00fady WebRTC cez retransl\u00e1tor <noindex><a rel=\"nofollow\" href=\"https:\/\/janus.conf.meetecho.com\/\">Janus Gateway od Meetecho<\/a><\/noindex>. V d\u00f4sledku toho klienti nepoznaj\u00fa adresy jeden druh\u00e9ho a vidia iba adresu servera Janus; ten tie\u017e pln\u00ed funkciu sign\u00e1lneho servera. Janus m\u00e1 mno\u017estvo potrebn\u00fdch funkci\u00ed: automaticky prech\u00e1dza na TCP, ak m\u00e1 klient zablokovan\u00e9 UDP; dok\u00e1\u017ee nahr\u00e1va\u0165 pr\u00fady cez UDP aj TCP; \u0161k\u00e1luje; a m\u00e1 dokonca zabudovan\u00fd plugin na echo testy. V pr\u00edpade potreby sa automaticky prip\u00e1jaj\u00fa STUN a TURN servery od Twilio.<\/p>\n<p>V lete 2017 sme mali v prev\u00e1dzke dva servery Janus plus \u010fal\u0161\u00ed server na spracovanie nahrat\u00fdch surov\u00fdch s\u00faborov zvuku a videa, aby sme nezaberali procesory hlavn\u00fdch. Pri pripojen\u00ed sa servery Janus vyberali pod\u013ea princ\u00edpu p\u00e1r-nep\u00e1r (\u010d\u00edslo spojenia). V tom \u010dase to sta\u010dilo, pod\u013ea na\u0161ich pocitov to d\u00e1valo pribli\u017ene \u0161tvorn\u00e1sobn\u00fd rezerva\u010dn\u00fd faktor, miera zavedenia bola pribli\u017ene 80. Pri tom cena klesla na ~2 ruble za lekciu, plus v\u00fdvoj a podpora.<\/p>\n<p><img decoding=\"async\" alt=\"Od Skype po WebRTC: ako sme zorganizovali videohovor cez web\" src=\"\/wp-content\/uploads\/2019\/04\/fd1cd47a6625f1ddaa20ed2a6067be60.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<h2 id=\"vozvraschenie-k-teme-videosvyazi\">N\u00e1vrat k t\u00e9me videohovorov<\/h2>\n<p>St\u00e1le sledujeme sp\u00e4tn\u00fa v\u00e4zbu od \u017eiakov a u\u010dite\u013eov, aby sme v\u010das odhalili a zastavili probl\u00e9my. Do l\u00e9ta 2018 sa na prvom mieste medzi s\u0165a\u017enos\u0165ami pevne usadila kvalita spojenia. Na jednej strane to znamenalo, \u017ee sme \u00faspe\u0161ne zvl\u00e1dli in\u00e9 nedostatky. Na druhej strane bolo nutn\u00e9 r\u00fdchlo nie\u010do urobi\u0165: pri preru\u0161en\u00fdch lekci\u00e1ch riskujeme stratu ich hodnoty, niekedy spolu s hodnotou n\u00e1kupu \u010fal\u0161ieho bal\u00edka, a pri preru\u0161eniach \u00favodnej hodiny dokonca riskujeme stratu potenci\u00e1lneho klienta.<\/p>\n<p>V tom \u010dase bola na\u0161a videokomunik\u00e1cia st\u00e1le v re\u017eime MVP. Jednoducho povedan\u00e9, spustili sme to, fungovalo to, raz sme to \u0161k\u00e1lovali, pochopili sme, ako na to \u2013 a to bola par\u00e1da. If it works, don\u2019t fix it. Nikto sa cielene nezaoberal ot\u00e1zkou kvality spojenia. Do augusta sa uk\u00e1zalo, \u017ee takto to nem\u00f4\u017ee pokra\u010dova\u0165, a spustili sme samostatn\u00fd smer, aby sme sa vysporiadali s probl\u00e9mom s WebRTC a Janus.<\/p>\n<p>Na vstupe tento smer dostal: rie\u0161enie MVP, \u017eiadne metriky, \u017eiadne ciele, \u017eiadne procesy na zlep\u0161ovanie, pri\u010dom 7% u\u010dite\u013eov si s\u0165a\u017eovalo na kvalitu spojenia (\u00fadaje o \u017eiakoch tie\u017e neexistovali).<\/p>\n<p><img decoding=\"async\" alt=\"Od Skype po WebRTC: ako sme zorganizovali videohovor cez web\" src=\"\/wp-content\/uploads\/2019\/04\/f8134229567f1187b00ec5c21a79800c.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<h2 id=\"novoe-napravlenie-beretsya-za-rabotu\">Nov\u00fd smer sa pustil do pr\u00e1ce<\/h2>\n<p>Pr\u00edkaz vyzer\u00e1 asi takto:<\/p>\n<ul>\n<li>Ved\u00faci smeru, ktor\u00fd je tie\u017e hlavn\u00fdm v\u00fdvoj\u00e1rom.<\/li>\n<li>QA pom\u00e1ha testova\u0165 zmeny, h\u013ead\u00e1 nov\u00e9 sp\u00f4soby, ako vytv\u00e1ra\u0165 nestabiln\u00e9 podmienky spojenia, hl\u00e1si probl\u00e9my z frontu.<\/li>\n<li>Analytik neust\u00e1le h\u013ead\u00e1 r\u00f4zne korel\u00e1cie v technick\u00fdch d\u00e1tach, zlep\u0161uje anal\u00fdzu sp\u00e4tnej v\u00e4zby pou\u017e\u00edvate\u013eov, kontroluje v\u00fdsledky experimentov.<\/li>\n<li>Produktov\u00fd mana\u017e\u00e9r pom\u00e1ha s celkov\u00fdm smerovan\u00edm a pride\u013eovan\u00edm zdrojov na experimenty.<\/li>\n<li>S programovan\u00edm a s\u00favisiacimi \u00falohami \u010dasto pom\u00e1ha druh\u00fd v\u00fdvoj\u00e1r.<\/li>\n<\/ul>\n<p>Na za\u010diatku sme nastavili relat\u00edvne spo\u013eahliv\u00fa metriku, ktor\u00e1 sledovala zmeny hodnotenia kvality spojenia (priemer za dni, t\u00fd\u017edne, mesiace). V tom \u010dase to boli hodnotenia od u\u010dite\u013eov, nesk\u00f4r sme k nim pridali hodnotenia od \u0161tudentov. N\u00e1sledne sme za\u010dali formulova\u0165 hypot\u00e9zy o tom, \u010do nefunguje, opravovali sme to a sledovali zmeny v dynamike. I\u0161li sme po n\u00edzko visiacich plodoch: napr\u00edklad sme vymenili kodek vp8 za vp9 a ukazovatele sa zlep\u0161ili. Sk\u00fa\u0161ali sme hra\u0165 sa s nastaveniami Janus, vykon\u00e1va\u0165 \u010fal\u0161ie experimenty \u2013 vo v\u00e4\u010d\u0161ine pr\u00edpadov bez v\u00fdsledku.<\/p>\n<p>V druhej f\u00e1ze sa objavila hypot\u00e9za: WebRTC je rie\u0161enie peer-to-peer, zatia\u013e \u010do my pou\u017e\u00edvame server uprostred. Mo\u017eno je probl\u00e9m pr\u00e1ve tu? Za\u010dali sme kopn\u00fa\u0165 a na\u0161li sme tu zatia\u013e najv\u00fdznamnej\u0161ie zlep\u0161enie.<\/p>\n<p>V tom \u010dase sa server z poolu vyberal pod\u013ea pomerne z\u00e1kladn\u00e9ho algoritmu: ka\u017ed\u00fd mal svoj \"v\u00e1hu\", ktor\u00e1 z\u00e1visela od kan\u00e1la a v\u00fdkonu, a sna\u017eili sme sa posla\u0165 pou\u017e\u00edvate\u013ea na ten, kde bola \"v\u00e1ha\" vy\u0161\u0161ia, bez oh\u013eadu na to, kde sa pou\u017e\u00edvate\u013e geograficky nach\u00e1dza. V\u00fdsledkom bolo, \u017ee u\u010dite\u013e z Petrohradu mohol komunikova\u0165 so \u017eiakom zo Sib\u00edri cez Moskvu, a nie cez n\u00e1\u0161 Janus server v SPb.<\/p>\n<p>Algoritmus sme prepracovali: teraz, ke\u010f pou\u017e\u00edvate\u013e otvor\u00ed na\u0161u platformu, pomocou Ajaxu zbierame pingi od neho k v\u0161etk\u00fdm serverom. Pri nadviazan\u00ed spojenia vyber\u00e1me p\u00e1r pingov (u\u010dite\u013e-server a \u017eiak-server) s najni\u017e\u0161\u00edm s\u00fa\u010dtom. Ni\u017e\u0161\u00ed ping znamen\u00e1 men\u0161iu sie\u0165ov\u00fa vzdialenos\u0165 k serveru; men\u0161ia vzdialenos\u0165 \u2014 ni\u017e\u0161ia pravdepodobnos\u0165 straty paketov; strata paketov je najv\u00e4\u010d\u0161\u00edm negat\u00edvnym faktorom vo videohovoroch. Podiel negat\u00edvnych sk\u00fasenost\u00ed za tri mesiace klesol na polovicu (pre spravodlivos\u0165, po\u010das tohto obdobia prebiehali aj \u010fal\u0161ie experimenty, ale tento takmer ur\u010dite mal najv\u00e4\u010d\u0161\u00ed vplyv).<\/p>\n<p><img decoding=\"async\" alt=\"Od Skype po WebRTC: ako sme zorganizovali videohovor cez web\" src=\"\/wp-content\/uploads\/2019\/04\/a106f7701b34c03080251710adf2a7a0.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p><img decoding=\"async\" alt=\"Od Skype po WebRTC: ako sme zorganizovali videohovor cez web\" src=\"\/wp-content\/uploads\/2019\/04\/2cd6782e5f4182004a0c0d9dd05dba5b.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>Ned\u00e1vno sme objavili e\u0161te jednu nevydaren\u00fa, ale zjavne d\u00f4le\u017eit\u00fa vec: namiesto jedn\u00e9ho v\u00fdkonn\u00e9ho servera Janus na silnom kan\u00e1li je lep\u0161ie ma\u0165 dva jednoduch\u0161ie s ni\u017e\u0161ou priepustnos\u0165ou. Toto sme zistili po tom, \u010do sme zak\u00fapili pr\u00e1ve v\u00fdkonn\u00e9 stroje v n\u00e1deji, \u017ee do nich narveme \u010do najviac miestnost\u00ed (komunika\u010dn\u00fdch rel\u00e1ci\u00ed) naraz. Servery maj\u00fa limit priepustnosti, ktor\u00fd m\u00f4\u017eeme presne prev\u00e1dza\u0165 na po\u010det miestnost\u00ed \u2014 vieme, ko\u013eko ich mo\u017eno otvori\u0165 napr\u00edklad na 300 Mbit\/s. Hne\u010f ako je na serveri otvoren\u00fdch pr\u00edli\u0161 ve\u013ea miestnost\u00ed \u2014 prest\u00e1vame ho vybera\u0165 na nov\u00e9 aktivity, k\u00fdm sa z\u00e1\u0165a\u017e nezn\u00ed\u017ei. N\u00e1pad bol v tom, \u017ee ak k\u00fapime v\u00fdkonn\u00fd stroj, maxim\u00e1lne vy\u0165a\u017e\u00edme kan\u00e1l, aby sme sa nakoniec dostali k procesoru a pam\u00e4ti, a nie k priepustnosti. Ale uk\u00e1zalo sa, \u017ee po ur\u010ditom po\u010dte otvoren\u00fdch miestnost\u00ed (420), aj ke\u010f vyu\u017eitie procesora, pam\u00e4te a disku je e\u0161te ve\u013emi \u010faleko od limitov, za\u010d\u00edna prich\u00e1dza\u0165 negat\u00edvna sp\u00e4tn\u00e1 v\u00e4zba z technickej podpory. Zjavne sa nie\u010do zhor\u0161uje vo vn\u00fatri Janus, mo\u017eno tam tie\u017e existuj\u00fa nejak\u00e9 obmedzenia. Za\u010dali sme experimentova\u0165, zn\u00ed\u017eili sme limit priepustnosti z 300 na 200 Mbit\/s, probl\u00e9my sa stratili. Teraz sme zak\u00fapili hne\u010f tri nov\u00e9 servery s n\u00edzkymi limitmi a charakteristikami, ver\u00edme, \u017ee to povedie k stabiln\u00e9mu zlep\u0161eniu kvality spojenia. Sk\u00fama\u0165, \u010do tam bolo na pr\u00ed\u010dine, sme samozrejme neza\u010dali, pretenduj\u00faci sme v\u0161etko. Na svoju obhajobu povieme, \u017ee v tej chv\u00edli bolo potrebn\u00e9 \u010do najr\u00fdchlej\u0161ie vyrie\u0161i\u0165 aktu\u00e1lny probl\u00e9m, nie to urobi\u0165 kr\u00e1sne; navy\u0161e Janus pre n\u00e1s \u2014 \u010dierna skrinka nap\u00edsan\u00e1 v C, s ktorou je ve\u013emi n\u00e1kladn\u00e9 sa zaobera\u0165.<\/p>\n<p><img decoding=\"async\" alt=\"Od Skype po WebRTC: ako sme zorganizovali videohovor cez web\" src=\"\/wp-content\/uploads\/2019\/04\/21ad5290ed3e40bdf0b26dfb5c20cdf8.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>No a v procese sme:<\/p>\n<ul>\n<li>aktualizovali v\u0161etky z\u00e1vislosti, ktor\u00e9 sa dali aktualizova\u0165, ako na serveri, tak aj na kliente (to boli tie\u017e experimenty, sledovali sme v\u00fdsledok);<\/li>\n<li>opravil v\u0161etky zisten\u00e9 chyby t\u00fdkaj\u00face sa konkr\u00e9tnych pr\u00edpadov, napr\u00edklad ke\u010f spojenie klesalo a neobnovovalo sa automaticky;<\/li>\n<li>usporiadali mnoho stretnut\u00ed s firmami, ktor\u00e9 pracuj\u00fa v oblasti videokomunik\u00e1cie a s\u00fa obozn\u00e1men\u00e9 s na\u0161imi probl\u00e9mami: streamova\u0165 hry, organizova\u0165 webin\u00e1re; vysk\u00fa\u0161ali sme v\u0161etko, \u010do sa n\u00e1m zdalo u\u017eito\u010dn\u00e9;<\/li>\n<li>uskuto\u010dnili technick\u00e9 presk\u00famanie hardv\u00e9ru a kvality spojenia u u\u010dite\u013eov, od ktor\u00fdch prich\u00e1dzalo najviac s\u0165a\u017enost\u00ed.<\/li>\n<\/ul>\n<p>Experimenty a n\u00e1sledn\u00e9 zmeny n\u00e1m umo\u017enili zn\u00ed\u017ei\u0165 nespokojnos\u0165 u\u010dite\u013eov s videonahovom z 7,1% v janu\u00e1ri 2018 na 2,5% v janu\u00e1ri 2019.<\/p>\n<h2 id=\"chto-dalshe\">\u010co \u010falej<\/h2>\n<p>Stabiliz\u00e1cia na\u0161ej platformy Vimbox je jeden z hlavn\u00fdch projektov spolo\u010dnosti na rok 2019. M\u00e1me ve\u013ek\u00e9 o\u010dak\u00e1vania, \u017ee sa n\u00e1m podar\u00ed udr\u017ea\u0165 dynamiku a u\u017e viac nevidie\u0165 videonahov na vrchole s\u0165a\u017enost\u00ed. Ch\u00e1peme, \u017ee zna\u010dn\u00e1 \u010das\u0165 t\u00fdchto s\u0165a\u017enost\u00ed s\u00favis\u00ed so zdr\u017ean\u00edm po\u010d\u00edta\u010dov a internetu pou\u017e\u00edvate\u013eov, ale mus\u00edme identifikova\u0165 t\u00fato \u010das\u0165 a vyrie\u0161i\u0165 v\u0161etko ostatn\u00e9. V\u0161etko ostatn\u00e9 je technick\u00fd probl\u00e9m, s ktor\u00fdm by sme si mali vedie\u0165 poradi\u0165.<\/p>\n<p>Hlavnou \u0165a\u017ekos\u0165ou je, \u017ee nevieme, do akej \u00farovne je v\u00f4bec re\u00e1lne zv\u00fd\u0161i\u0165 kvalitu. Zistenie tejto stropnej hodnoty je hlavnou \u00falohou. Preto boli napl\u00e1novan\u00e9 dva experimenty:<\/p>\n<ol>\n<li>porovna\u0165 video cez Janus s oby\u010dajn\u00fdm p2p v bojov\u00fdch podmienkach. Tento experiment sa u\u017e uskuto\u010dnil, \u017eiadny \u0161tatisticky v\u00fdznamn\u00fd rozdiel medzi na\u0161\u00edm rie\u0161en\u00edm a p2p nebol zisten\u00fd;<\/li>\n<li>nasad\u00edme (drah\u00e9) slu\u017eby od spolo\u010dnost\u00ed, ktor\u00e9 zar\u00e1baj\u00fa v\u00fdlu\u010dne na rie\u0161eniach v oblasti videonahov a porovn\u00e1me mno\u017estvo negativity od nich s existuj\u00facim.<\/li>\n<\/ol>\n<p>Tieto dva experimenty n\u00e1m umo\u017enia ur\u010di\u0165 dosiahnute\u013en\u00fd cie\u013e a s\u00fastredi\u0165 sa na\u0148.<\/p>\n<p>Okrem toho existuje rad \u00faloh, ktor\u00e9 sa rie\u0161ia v r\u00e1mci pracovn\u00e9ho procesu:<\/p>\n<ul>\n<li>vytv\u00e1rame technick\u00fa metriku kvality spojenia namiesto subjekt\u00edvnych hodnoten\u00ed;<\/li>\n<li>rob\u00edme podrobnej\u0161ie logy rel\u00e1ci\u00ed, aby sme presnej\u0161ie analyzovali vyskytuj\u00face sa zlyhania, pochopili, kedy a kde presne sa stali, ak\u00e9 na prv\u00fd poh\u013ead nes\u00favisiace udalosti sa v tom \u010dase vyskytli;<\/li>\n<li>priprav\u00edme automatick\u00fd test kvality spojenia pred hodinou a tie\u017e poskytneme klientovi mo\u017enos\u0165 manu\u00e1lne otestova\u0165 spojenie, aby sme zn\u00ed\u017eili mno\u017estvo negativity sp\u00f4sobenej jeho hardv\u00e9rom a kan\u00e1lom;<\/li>\n<li>vyvin\u00fa\u0165 a vykon\u00e1va\u0165 viac z\u00e1\u0165a\u017eov\u00fdch testov videonahov v zl\u00fdch podmienkach, so stratou paketov a pod.;<\/li>\n<li>men\u00edme spr\u00e1vanie serverov v pr\u00edpade probl\u00e9mov na zv\u00fd\u0161enie odolnosti;<\/li>\n<li>budeme varova\u0165 pou\u017e\u00edvate\u013ea, ak m\u00e1 nie\u010do \u00faplne zle so spojom, ako to rob\u00ed aj Skype, aby vedel, \u017ee probl\u00e9m je na jeho strane.<\/li>\n<\/ul>\n<p>Od apr\u00edla sa smerovanie videokonferenci\u00ed st\u00e1va plnohodnotn\u00fdm samostatn\u00fdm projektom v r\u00e1mci Skyeng, ktor\u00fd sa zaober\u00e1 vlastn\u00fdm produktom a nie je iba s\u00fa\u010das\u0165ou Vimboxu. To znamen\u00e1, \u017ee za\u010d\u00edname h\u013eada\u0165 \u013eud\u00ed na <noindex><a rel=\"nofollow\" href=\"https:\/\/spb.hh.ru\/vacancy\/30766332\">pr\u00e1cu s videom na pln\u00fd \u00fav\u00e4zok<\/a><\/noindex>. No a ako v\u017edy <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/skyeng\/blog\/446444\/\">h\u013ead\u00e1me mno\u017estvo dobr\u00fdch \u013eud\u00ed<\/a><\/noindex>.<\/p>\n<p>. A samozrejme pokra\u010dujeme v akt\u00edvnom rozhovore s \u013eu\u010fmi a spolo\u010dnos\u0165ami, ktor\u00e9 pracuj\u00fa s videokonferenciami. Ak sa chcete s nami podeli\u0165 o sk\u00fasenosti, budeme radi! Komentujte, kontaktujte n\u00e1s \u2014 odpovieme v\u0161etk\u00fdm.<\/p>\n<p>Zdroj: <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\/sk\/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=\"sk_SK\" \/>\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\/sk\/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\udd47Od Skype po WebRTC: ako sme zorganizovali videokonferencie cez web | ProHoster","description":"Videokonferencie s\u00fa hlavn\u00fdm sp\u00f4sobom komunik\u00e1cie.","canonical_url":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/ot-skype-do-webrtc-kak-my-organizovali-videosvyaz-cherez-veb","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sk_SK","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\/sk\/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\/sk\/wp-json\/wp\/v2\/posts\/30842","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/comments?post=30842"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/30842\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media\/22826"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media?parent=30842"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/categories?post=30842"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/tags?post=30842"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}