{"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\/hr\/blog\/administrirovanie\/ot-skype-do-webrtc-kak-my-organizovali-videosvyaz-cherez-veb","title":{"rendered":"Od Skype-a do WebRTC: kako smo organizovali video povezivanje putem web-a","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Od Skype-a do WebRTC: kako smo organizovali video povezivanje putem web-a\" src=\"\/wp-content\/uploads\/2019\/04\/92ea7848049d68c0b41b821bc8b83d54.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>Video poziv je glavni na\u010din komunikacije izme\u0111u nastavnika i studenta na platformi Vimbox. Oduvijek smo se odrekli Skypea, isprobali smo nekoliko rje\u0161enja tre\u0107ih strana i na kraju se odlu\u010dili za kombinaciju WebRTC - Janus-gateway. Neko vrijeme smo bili zadovoljni, ali su se ipak pojavljivali neki negativni aspekti. Na kraju je stvorena posebna jedinica za video.<\/p>\n<p>Zamolio sam Kirila Rogovog, voditelja nove jedinice, da govori o evoluciji video poziva u Skyengu, otkrivenim problemima, rje\u0161enjima i improvizacijama koje smo na kraju primijenili. Nadamo se da \u0107e \u010dlanak biti koristan za kompanije koje tako\u0111er ostvaruju video putem web aplikacije.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2 id=\"nemnogo-istorii\">Malo povijesti<\/h2>\n<p>Ljeta 2017. godine, vo\u0111a razvoja Skyenga, Sergey Safonov, nastupio je na Backend Conf govore\u0107i o tome kako smo \"odrecimo se Skypea i implementirali WebRTC\". Oni koji \u017eele, mogu pogledati snimku njegovog nastupa na <noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/0BiE1Rt-bak\">vezi<\/a><\/noindex> (~45 min), a ovdje \u0107u ukratko iznijeti su\u0161tinu.<\/p>\n<p>Za \u0161kolu Skyeng video poziv je oduvijek bio prioritetni na\u010din komunikacije izme\u0111u nastavnika i u\u010denika. U po\u010detku smo koristili \"Skype\", ali to je bilo potpuno neprihvatljivo iz vi\u0161e razloga, prvenstveno zbog nedostatka zapisnika i nemogu\u0107nosti neposredne integracije u web aplikaciju. Stoga smo provodili razne eksperimente.<\/p>\n<p>Zapravo, na\u0161i zahtjevi za video poziv bili su otprilike ovakvi:<br \/>\n\u2014 stabilnost;<br \/>\n\u2014 niska cijena po satu;<br \/>\n\u2014 snimanje sati;<br \/>\n\u2014 pra\u0107enje koliko tko govori (va\u017eno nam je da u\u010denici govore vi\u0161e od nastavnika tijekom sati);<br \/>\n\u2014 linearno skaliranje;<br \/>\n\u2014 mogu\u0107nost kori\u0161tenja i UDP i TCP.<\/p>\n<p>Prvi put smo 2013. godine probali implementirati Tokbox. Sve je bilo dobro, ali je cijena bila vrlo visoka - 113 rubalja po satu - i smanjila je profit.<\/p>\n<p>Zatim smo 2015. godine integrirali Voximplant. Ovdje je bila potrebna funkcija pra\u0107enja koliko tko govori, a rje\u0161enje je bilo znatno jeftinije: uz uvjet snimanja samo zvuka, tro\u0161ilo se 20 rubalja po satu. Me\u0111utim, radilo je samo putem UDP-a, a nije umjelo prebaciti se na TCP. Ipak, na kraju je oko 40% u\u010denika koristilo.<\/p>\n<p>Nakon godine dana po\u010deli su nam se javljati korporativni klijenti s vlastitim specifi\u010dnim zahtjevima. Na primjer, sve mora raditi putem preglednika, u tvrtki su otvoreni samo http i https; tj. nema \u201eSkajpova\u201c i UDP-a. Korporativni klijenti = novac, pa smo se vratili na Tokbox, ali problem cijene nije nestao.<\/p>\n<h2 id=\"reshenie----webrtc-i-janus\">Rje\u0161enje \u2014 WebRTC i Janus<\/h2>\n<p>Donijeli smo odluku da koristimo <noindex><a rel=\"nofollow\" href=\"https:\/\/webrtc.org\/\">pregledni\u010dku platformu za peer-to-peer videovezu WebRTC<\/a><\/noindex>. Ona je odgovorna za uspostavljanje veze, kodiranje i dekodiranje tokova, sinkronizaciju staza i kontrolu kvalitete uz obradu mre\u017enih problema. S na\u0161e strane moramo osigurati o\u010ditavanje tokova s kamere i mikrofona, crtanje videa, upravljanje vezom, uspostavljanje WebRTC veze i prijenos tokova prema njoj, kao i prijenos signalnih poruka izme\u0111u klijenata za uspostavu veze (sam WebRTC opisuje samo format podataka, ali ne i mehanizme njihove prijenosa). U slu\u010daju da se klijenti nalaze iza NAT-a, WebRTC povezuje STUN poslu\u017eitelje, a ako to ne pomogne, TURN poslu\u017eitelje.<\/p>\n<p>Obi\u010dno p2p povezivanje nam nije dovoljno, jer \u017eelimo snimati lekcije za daljnju analizu u slu\u010daju pritu\u017ebi. Stoga \u0161aljemo WebRTC tokove putem prebaciva\u010da <noindex><a rel=\"nofollow\" href=\"https:\/\/janus.conf.meetecho.com\/\">Janus Gateway od Meetecho<\/a><\/noindex>. Kao rezultat, klijenti ne znaju adrese jedni drugih, vide samo adresu Janus poslu\u017eitelja; on tako\u0111er obavlja funkciju signalnog poslu\u017eitelja. Janus ima mnoge potrebne zna\u010dajke: automatski prelazi na TCP ako je kod klijenta blokiran UDP; mo\u017ee snimati tokove i UDP-a i TCP-a; skalira se; \u010dak ima ugra\u0111eni plugin za echo testove. U slu\u010daju potrebe automatski se povezuju STUN i TURN poslu\u017eitelji od Twilio.<\/p>\n<p>Ljeto 2017. godine imali smo dva Janus poslu\u017eitelja plus dodatni poslu\u017eitelj za obradu snimljenih sirovih audio i video datoteka, kako ne bismo optere\u0107ivali procesore glavnih. Pri povezivanju, Janus poslu\u017eitelji su birani prema principu par-nepar (broj veze). U tom trenutku to je bilo dovoljno, prema na\u0161im osje\u0107ajima davalo je otprilike \u010detverostruki oslonac, stopa implementacije bila je oko 80. U isto vrijeme cijena je sni\u017eena na ~2 rubalja po lekciji, plus razvoj i podr\u0161ka.<\/p>\n<p><img decoding=\"async\" alt=\"Od Skype-a do WebRTC: kako smo organizovali video povezivanje putem web-a\" src=\"\/wp-content\/uploads\/2019\/04\/fd1cd47a6625f1ddaa20ed2a6067be60.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<h2 id=\"vozvraschenie-k-teme-videosvyazi\">Povratak na temu videoveze<\/h2>\n<p>Stalno pratimo povratne informacije u\u010denika i nastavnika kako bismo pravovremeno prepoznali i uklonili probleme. Do ljeta 2018. godine kvalitet veze je postao naj\u010de\u0161\u0107a \u017ealba. S jedne strane, to je zna\u010dilo da smo uspe\u0161no re\u0161ili druge nedostatke. S druge strane, trebalo je hitno ne\u0161to uraditi: prekid \u010dasa mo\u017ee nas ko\u0161tati, ponekad zajedno s tro\u0161kom kupovine slede\u0107eg paketa, a prekid uvodnog \u010dasa mo\u017ee nas potpuno odvojiti od potencijalnog klijenta.<\/p>\n<p>U to vreme, videoveza je i dalje bila u MVP fazi. Drugim re\u010dima, pokrenuli smo, to je radilo, jednom smo skalirali, shvatili kako to raditi \u2013 a to je to. Ako funkcioni\u0161e, ne popravljaj to. Niko nije aktivno radio na pitanju kvaliteta veze. Do avgusta je postalo jasno da tako ne mo\u017ee da ide dalje, i pokrenuli smo poseban odjeljak kako bismo shvatili \u0161ta nije u redu s WebRTC-om i Janusom.<\/p>\n<p>Na ulazu je ovaj odjeljak imao: MVP re\u0161enje, nema metrika, nema ciljeva, nema procesa pobolj\u0161anja, pri \u010demu se 7% u\u010ditelja \u017eali na kvalitet veze (podataka o u\u010denicima tako\u0111e nije bilo).<\/p>\n<p><img decoding=\"async\" alt=\"Od Skype-a do WebRTC: kako smo organizovali video povezivanje putem web-a\" src=\"\/wp-content\/uploads\/2019\/04\/f8134229567f1187b00ec5c21a79800c.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<h2 id=\"novoe-napravlenie-beretsya-za-rabotu\">Novi odjeljak kre\u0107e s radom<\/h2>\n<p>Tim izgleda otprilike ovako:<\/p>\n<ul>\n<li>Vo\u0111a odjeljka, koji je ujedno i glavni programer.<\/li>\n<li>QA poma\u017ee u testiranju promena, tra\u017ei nove na\u010dine stvaranja nestabilnih uslova za vezu, izve\u0161tava o problemima s terena.<\/li>\n<li>Analiti\u010dar neprekidno tra\u017ei razne korelacije u tehni\u010dkim podacima, pobolj\u0161ava analizu povratnih informacija korisnika, proverava rezultate eksperimenta.<\/li>\n<li>Produkt menad\u017eer poma\u017ee sa op\u0161tim smerom i raspodelom resursa za eksperimente.<\/li>\n<li>Drugi programer \u010desto poma\u017ee sa samim programiranjem i srodnim zadacima.<\/li>\n<\/ul>\n<p>Na po\u010detku smo postavili relativno pouzdanu metriku koja je pratila promene u oceni kvaliteta veze (prose\u010dna ocena po danima, nedeljama, mesecima). U to vreme su to bile ocene od u\u010ditelja, a kasnije su im dodate i ocene od studenata. Zatim smo po\u010deli da postavljamo hipoteze o tome \u0161ta ne funkcioni\u0161e, ispravljali i posmatrali promene u dinamici. I\u0161li smo za lakim plodovima: na primer, zamenili smo vp8 kodek s vp9, a pokazatelji su se pobolj\u0161ali. Poku\u0161ali smo da se igramo s pode\u0161avanjima Janusa, sproveli razne eksperimente \u2013 koji su ve\u0107inom doveli do ni\u010dega.<\/p>\n<p>U drugoj fazi pojavila se hipoteza: WebRTC je re\u0161enje peer-to-peer, a mi koristimo posredni\u010dki server. Mo\u017eda se problem krije ovde? Po\u010deli smo istra\u017eivati i ovde prona\u0161li za sada najzna\u010dajnije pobolj\u0161anje.<\/p>\n<p>U tom trenutku server iz grupe birao se prili\u010dno glupim algoritmom: svaki je imao svoj 'te\u017einu', zavisnu od veze i snage, i nastojali smo poslati korisnika na onaj s ve\u0107om 'te\u017einom', ne obaziru\u0107i se na to gde se geografski nalazi korisnik. Kao rezultat, u\u010ditelj iz Peterburga mogao je da komunicira sa u\u010denikom iz Sibira preko Moskve, a ne preko na\u0161eg Janus servera u Sankt Peterburgu.<\/p>\n<p>Algoritam smo prepravili: sada, kada korisnik otvori na\u0161u platformu, putem Ajax-a prikupljamo pingove od njega do svih servera. Kada uspostavljamo vezu, biramo par pingova (u\u010ditelj-server i u\u010denik-server) s najmanjom sumom. Manji ping \u2013 manja mre\u017ena udaljenost do servera; manja udaljenost \u2014 manja verovatnost gubitka paketa; gubitak paketa \u2014 najve\u0107i negativni faktor u video vezi. Udeo negativnog iskustva tokom tri meseca pao je na polovinu (za pravednost, u to vreme su se sprovodili i drugi eksperimenti, ali ovaj je gotovo sigurno imao najve\u0107i uticaj).<\/p>\n<p><img decoding=\"async\" alt=\"Od Skype-a do WebRTC: kako smo organizovali video povezivanje putem web-a\" src=\"\/wp-content\/uploads\/2019\/04\/a106f7701b34c03080251710adf2a7a0.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p><img decoding=\"async\" alt=\"Od Skype-a do WebRTC: kako smo organizovali video povezivanje putem web-a\" src=\"\/wp-content\/uploads\/2019\/04\/2cd6782e5f4182004a0c0d9dd05dba5b.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>Nedavno smo otkrili jo\u0161 jednu ne o\u010diglednu, ali o\u010digledno va\u017enu stvar: umjesto jednog mo\u0107nog Janus servera na \u0161irokom kanalu, bolje je imati dva jednostavnija s manjom propusno\u0161\u0107u. Ovo je otkriveno nakon \u0161to smo kupili mo\u0107ne ma\u0161ine u nadi da \u0107emo u njih smjestiti \u0161to vi\u0161e soba (seansa veze) odjednom. Serveri imaju limit propusnosti, koji mo\u017eemo to\u010dno pretvoriti u broj soba - znamo koliko se mo\u017ee otvoriti, na primjer, na 300 mbit\/s. \u010cim na serveru bude otvoreno previ\u0161e soba - prestajemo ga birati za nove sesije dok se optere\u0107enje ne smanji. Ideja je bila da, kupnjom mo\u0107ne ma\u0161ine, maksimalno opteretimo kanal kako bismo na kraju do\u0161li do ograni\u010denja procesora i memorije, a ne do propusnosti. No, ispostavilo se da nakon odre\u0111enog broja otvorenih soba (420), unato\u010d tome \u0161to je optere\u0107enje procesora, memorije i diska jo\u0161 uvijek daleko od limita, po\u010dinju dolaziti negativne povratne informacije u tehni\u010dku podr\u0161ku. O\u010digledno, ne\u0161to postaje lo\u0161ije unutar Janusa, mo\u017eda postoje neka ograni\u010denja. Po\u010deli smo eksperimentirati, smanjili smo limit propusnosti s 300 na 200 mbit\/s, problemi su nestali. Sada smo kupili tri nova servera s niskim limitima i karakteristikama, mislimo da \u0107e to dovesti do stabilnog pobolj\u0161anja kvalitete veze. Naravno, nismo se trudili otkriti o \u010demu se radi, improvizacija je na\u0161 za\u0161titni znak. U svoju obranu mo\u017eemo re\u0107i da je tada bilo potrebno \u0161to br\u017ee rije\u0161iti hitan problem, a ne to u\u010diniti lijepo; osim toga, Janus za nas je crna kutija napisana na C, kopanje po njemu je jako skupo.<\/p>\n<p><img decoding=\"async\" alt=\"Od Skype-a do WebRTC: kako smo organizovali video povezivanje putem web-a\" src=\"\/wp-content\/uploads\/2019\/04\/21ad5290ed3e40bdf0b26dfb5c20cdf8.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>Pa, usput smo:<\/p>\n<ul>\n<li>a\u017eurirali sve ovisnosti koje je bilo mogu\u0107e a\u017eurirati, kako na serveru, tako i na klijentu (to su tako\u0111er bili eksperimenti, pratili smo rezultate);<\/li>\n<li>popravili sve uo\u010dene gre\u0161ke koje su se ticale konkretnog slu\u010daja, na primjer, kada je veza padala i nije se automatski obnavljala;<\/li>\n<li>proveli brojne sastanke s tvrtkama koje rade u podru\u010dju video veze i upoznate su s na\u0161im problemima: streamanje igara, organizacija webinara; isprobali smo sve \u0161to nam se \u010dinilo korisnim;<\/li>\n<li>proveli tehni\u010dki pregled hardvera i kvalitete veze u\u010ditelja od kojih je dolazilo najvi\u0161e pritu\u017ebi.<\/li>\n<\/ul>\n<p>Eksperimenti koje smo proveli i naknadne promjene omogu\u0107ile su smanjenje nezadovoljstva korisni\u010dkom vezom me\u0111u predava\u010dima s 7,1% u sije\u010dnju 2018. na 2,5% u sije\u010dnju 2019.<\/p>\n<h2 id=\"chto-dalshe\">\u0160to dalje<\/h2>\n<p>Stabilizacija na\u0161e platforme Vimbox jedan je od glavnih projekata tvrtke za 2019. godinu. Imamo velika o\u010dekivanja da \u0107emo zadr\u017eati dinamiku i vi\u0161e ne vidjeti videovezu na vrhu pritu\u017ebi. Razumijemo da zna\u010dajan dio tih pritu\u017ebi proizlazi iz ka\u0161njenja na ra\u010dunalima i internetu korisnika, ali moramo odrediti taj dio i rije\u0161iti sve ostalo. Sve ostalo predstavlja tehni\u010dki problem s kojim se, \u010dini se, moramo znati nositi.<\/p>\n<p>Glavna pote\u0161ko\u0107a je \u0161to ne znamo do koje razine je stvarno mogu\u0107e pobolj\u0161ati kvalitetu. Utvr\u0111ivanje tog plafona je glavni zadatak. Zbog toga su planirana dva eksperimenta:<\/p>\n<ol>\n<li>usporediti video putem Janusa s obi\u010dnim p2p u stvarnim uvjetima. Ovaj eksperiment je ve\u0107 proveden, a nije prona\u0111ena nijedna statisti\u010dki zna\u010dajna razlika izme\u0111u na\u0161eg rje\u0161enja i p2p;<\/li>\n<li>instalirati (skupe) servise od kompanija koje zara\u0111uju isklju\u010divo na rje\u0161enjima u podru\u010dju videoveze i usporediti koli\u010dinu negativnih komentara koju generiraju s postoje\u0107im;<\/li>\n<\/ol>\n<p>Ova dva eksperimenta omogu\u0107it \u0107e nam da odredimo dosti\u017eni cilj i fokusiramo se na njega.<\/p>\n<p>Osim toga, postoji niz zadataka koji se rje\u0161avaju u radnom procesu:<\/p>\n<ul>\n<li>stvaramo tehni\u010dku metri\u010dku kvalifikaciju veze umjesto subjektivnih povratnih informacija;<\/li>\n<li>izradit \u0107emo detaljnije zapise o sesijama kako bismo to\u010dnije analizirali incidentne kvarove, razumjeli kada i gdje su se to\u010dno dogodili, te koje naizgled nepovezane situacije su se odvijale u tom trenutku;<\/li>\n<li>pripremamo automatski test kvalitete veze prije lekcije, kao i omogu\u0107iti klijentu ru\u010dno testiranje veze kako bismo smanjili broj negativnih komentara uzrokovanih njegovim hardverom i vezom;<\/li>\n<li>razvijat \u0107emo i provoditi vi\u0161e optere\u0107enja testova videoveze u lo\u0161im uvjetima, s promjenjivim gubitkom paketa itd.;<\/li>\n<li>promijenit \u0107emo pona\u0161anje poslu\u017eitelja u slu\u010daju problema kako bismo pove\u0107ali otpornost sustava;<\/li>\n<li>obavijestit \u0107emo korisnika ako ima problema s vezom, kao \u0161to to radi Skype, kako bi shvatio da je problem na njegovoj strani.<\/li>\n<\/ul>\n<p>Od travnja, podru\u010dje video poziva postaje samostalni projekt unutar Skyenga, koji se bavi vlastitim proizvodom, a ne samo dijelom Vimboxa. To zna\u010di da po\u010dinjemo tra\u017eiti ljude za <noindex><a rel=\"nofollow\" href=\"https:\/\/spb.hh.ru\/vacancy\/30766332\">rada s videom u punom radnom vremenu<\/a><\/noindex>. Kao i uvijek, <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/skyeng\/blog\/446444\/\">tra\u017eimo mnogo dobrih ljudi<\/a><\/noindex>.<\/p>\n<p>I, naravno, nastavljamo aktivno komunicirati s ljudima i tvrtkama koje se bave video pozivima. Ako \u017eelite podijeliti s nama iskustvo \u2014 bit \u0107emo sretni! Komentirajte, kontaktirajte \u2014 odgovoriti \u0107emo svima.<\/p>\n<p>Izvor: <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\/hr\/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=\"hr_HR\" \/>\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\/hr\/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 Skypea do WebRTC: kako smo organizirali video pozive putem weba | ProHoster","description":"Video pozivi su glavni na\u010din komunikacije.","canonical_url":"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/ot-skype-do-webrtc-kak-my-organizovali-videosvyaz-cherez-veb","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hr_HR","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\/hr\/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\/hr\/wp-json\/wp\/v2\/posts\/30842","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/comments?post=30842"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/30842\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/media\/22826"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/media?parent=30842"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/categories?post=30842"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/tags?post=30842"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}