{"id":32314,"date":"2019-10-31T21:46:17","date_gmt":"2019-10-31T18:46:17","guid":{"rendered":"https:\/\/prohoster.info\/blog\/webrtc-i-videonablyudenie-kak-my-pobedili-zaderzhku-video-s-kamer\/"},"modified":"2019-10-31T21:46:17","modified_gmt":"2019-10-31T18:46:17","slug":"webrtc-i-videonablyudenie-kak-my-pobedili-zaderzhku-video-s-kamer","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/webrtc-i-videonablyudenie-kak-my-pobedili-zaderzhku-video-s-kamer","title":{"rendered":"WebRTC och vide\u00f6vervakning: hur vi besegrade f\u00f6rdr\u00f6jningen i videostr\u00f6mmen fr\u00e5n kameror","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"WebRTC och vide\u00f6vervakning: hur vi besegrade f\u00f6rdr\u00f6jningen i videostr\u00f6mmen fr\u00e5n kameror\" src=\"\/wp-content\/uploads\/2019\/04\/d185b546f5fc4c15021481c0cc2fedbd.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nFr\u00e5n f\u00f6rsta dagen av arbetet med v\u00e5rt molnbaserade \u00f6vervakningssystem st\u00f6tte vi p\u00e5 ett problem som utan en l\u00f6sning skulle s\u00e4tta en begr\u00e4nsning f\u00f6r Ivideon \u2013 det var v\u00e5r Everest, vars bestigning kr\u00e4vde enorma resurser, men nu har vi \u00e4ntligen stuckit isyxan i toppen av det plattforms\u00f6verskridande pusslet.<\/p>\n<p>Systemet f\u00f6r ljud- och video\u00f6verf\u00f6ring \u00f6ver internet b\u00f6r inte vara beroende av utrustning, webbl\u00e4sarklienter och de standarder som de st\u00f6der. Det ska ocks\u00e5 fungera korrekt n\u00e4r det finns Network Address Translators och brandv\u00e4ggar. Anv\u00e4ndaren av molnbaserad \u00f6vervakning vill f\u00e5 tillg\u00e5ng till tj\u00e4nsten, \u00e4ven om den anv\u00e4nder analoga kameror och f\u00f6redrar att se livevideo p\u00e5 den senaste enheten. <\/p>\n<p>Det \u00e4r mycket viktigt att anv\u00e4ndaren vill se video med minimal f\u00f6rdr\u00f6jning. Den praktiskt taget enda m\u00f6jligheten att visa video med l\u00e5g f\u00f6rdr\u00f6jning i webbl\u00e4saren \u00e4r att anv\u00e4nda WebRTC (web real-time communications). WebRTC \u00e4r en upps\u00e4ttning teknologier f\u00f6r peer-to-peer \u00f6verf\u00f6ring av video och ljud i webbl\u00e4sare, ursprungligen avsedd f\u00f6r \u00f6verf\u00f6ring och uppspelning av videostr\u00f6mmar med l\u00e5g f\u00f6rdr\u00f6jning. Detta anv\u00e4nder, bland annat, UDP-protokollet.<\/p>\n<p>Innan vi ber\u00e4ttar vad den nya motorn ger anv\u00e4ndaren, p\u00e5minner vi om varf\u00f6r och hur vi st\u00f6der HLS-teknologier och varf\u00f6r vi har beslutat att g\u00e5 vidare.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>HLS-motor: f\u00f6rdelar och nackdelar<\/h2>\n<p>\n<img decoding=\"async\" alt=\"WebRTC och vide\u00f6vervakning: hur vi besegrade f\u00f6rdr\u00f6jningen i videostr\u00f6mmen fr\u00e5n kameror\" src=\"\/wp-content\/uploads\/2019\/04\/f025d08eb22f7785090b8bc60194643c.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n(<noindex><a rel=\"nofollow\" href=\"https:\/\/www.encoding.com\/http-live-streaming-hls\/\">c<\/a><\/noindex>)<\/p>\n<p>Tekniken HLS (HTTP Live Streaming) utvecklades av Apple, s\u00e5 det \u00e4r inte f\u00f6rv\u00e5nande att det f\u00f6rst blev st\u00f6d f\u00f6r den p\u00e5 enheter fr\u00e5n just detta m\u00e4rke. Idag kan n\u00e4stan alla tv-boxar och m\u00e5nga enheter som k\u00f6r Android ocks\u00e5 reproducera video i HLS-format.<\/p>\n<p>HLS-motorn anv\u00e4nder den v\u00e4lk\u00e4nda videokodeken H264 i kombination med AAC- eller MP3-ljudstr\u00f6mmar f\u00f6r videodata\u00f6verf\u00f6ring. Hela ljud- och videostr\u00f6mmen paketeras i transportcontainern MPEG-TS. F\u00f6r \u00f6verf\u00f6ring via HTTP delas informationen i str\u00f6mmen upp i fragment som beskrivs i m3u8-spellistor. Dessa fragment tillsammans med spellistorna \u00f6verf\u00f6rs sedan via HTTP. Uppdelningen i fragment inneb\u00e4r automatiskt f\u00f6rdr\u00f6jningar i sekunder. Det \u00e4r en s\u00e4rskild egenskap hos MPEG-TS-containern. <\/p>\n<p>HLS-motorn st\u00f6der ocks\u00e5 multi-bitrate str\u00f6mmar, Live\/VOD. <\/p>\n<p><b>De huvudsakliga f\u00f6rdelarna med HLS:<\/b><\/p>\n<ul>\n<li>inbyggt st\u00f6d i alla stora webbl\u00e4sare;<\/li>\n<li>enkelt att implementera (j\u00e4mf\u00f6rt med WebRTC);<\/li>\n<li>v\u00e4ldigt bekv\u00e4mt och effektivt att organisera olika s\u00e4ndningar till en stor publik tack vare att segment kan laddas en g\u00e5ng p\u00e5 CDN.<\/li>\n<\/ul>\n<p>\nTrots att motorn \u00e4r enkel, \u00e4r inte allt s\u00e5 smidigt som det verkar. Huvudproblemet \u00e4r att utvecklarna av tredjeparts spelfilmer har avvikit fr\u00e5n Apples rekommendationer, exempelvis n\u00e4r det g\u00e4ller st\u00f6dda ljudformat. M\u00e5nga utvecklare har specifikt b\u00f6rjat l\u00e4gga till st\u00f6d f\u00f6r popul\u00e4ra ljudstr\u00f6mmar: mpeg2 video, mpeg2 audio osv. Resultatet blev att olika spellisteformat var tvungna att skapas f\u00f6r olika spelare.<\/p>\n<p>Men en av de st\u00f6rsta problemen med HLS-motorn \u00e4r den h\u00f6ga f\u00f6rdr\u00f6jningen i data\u00f6verf\u00f6ringen.<\/p>\n<h2>Ursprunget till 'st\u00f6tarna'<\/h2>\n<p>\nDen fr\u00e4msta orsaken till den h\u00f6ga f\u00f6rdr\u00f6jningen i HLS ligger i det faktum att programmerarna skapade motorn f\u00f6r att f\u00e5 maximal bildkvalitet. D\u00e4rf\u00f6r passar inte parametrarna f\u00f6r den anv\u00e4nda bildfrekvensen och buffertvolymen f\u00f6r direkt videostr\u00f6mning. Detta leder till en ganska h\u00f6g f\u00f6rdr\u00f6jning i videostr\u00f6mningen, som kan uppg\u00e5 till 5-7 sekunder.<\/p>\n<p>\u00c5 ena sidan \u00e4r det lite, till exempel f\u00f6r dem som tittar p\u00e5 en film fr\u00e5n en videohostingsserver. Men f\u00f6r \u00f6vervakningssystem kan f\u00f6rdr\u00f6jningen i videostr\u00f6mmen ha stor betydelse.<\/p>\n<p>Om du \u00f6vervakar ett kontor d\u00e4r anst\u00e4llda sl\u00e4pper sk\u00e4rmarna en g\u00e5ng i timmen, spelar 5 sekunder ingen roll. Men folk har b\u00f6rjat klaga p\u00e5 att till exempel under s\u00e4ndningen av en fotbollsmatch, i chatten redan har skrivit M\u00c5\u00c5\u00c5L, men p\u00e5 videon syns det fortfarande inte :). Vi har redan flera anv\u00e4ndartester d\u00e4r Ivideon p\u00e5 praktiskt taget ska ers\u00e4tta Skype.<\/p>\n<p>Kan f\u00f6rdr\u00f6jningen i HLS \u00f6vervinnas? Svaret p\u00e5 denna fr\u00e5ga l\u00e5ter som en veteran r\u00e5ttj\u00e4gare som f\u00f6rel\u00e4ser f\u00f6r nyb\u00f6rjare: \"Det g\u00e5r inte att utrota r\u00e5ttor, men deras antal kan reduceras till en rimlig minimiv\u00e4rde\". S\u00e5 det \u00e4r med f\u00f6rdr\u00f6jningen i HLS, att f\u00e5 den till noll \u00e4r inte m\u00f6jligt, men det finns l\u00f6sningar p\u00e5 marknaden som kan minska f\u00f6rdr\u00f6jningen avsev\u00e4rt.<\/p>\n<h2>Fin klippning<\/h2>\n<p>\nEn annan nackdel med motorn \u00e4r anv\u00e4ndningen av sm\u00e5 filer f\u00f6r data\u00f6verf\u00f6ring. Det verkar som att det inte \u00e4r s\u00e5 d\u00e5ligt?<\/p>\n<p>N\u00e5gon som har f\u00f6rs\u00f6kt att kopiera ett stort antal sm\u00e5 filer fr\u00e5n en enhet till en annan har s\u00e4kert m\u00e4rkt att skrivhastigheten f\u00f6r en s\u00e5dan upps\u00e4ttning \u00e4r mycket l\u00e4gre \u00e4n f\u00f6r en enda stor fil av samma storlek. Dessutom \u00f6kar intensiteten av \u00e5tkomsten till h\u00e5rddisken avsev\u00e4rt, vilket i sin helhet p\u00e5verkar datorns prestanda negativt. D\u00e4rf\u00f6r bidrar \u00f6verf\u00f6ring av videodata i form av sm\u00e5 10-sekunders fragment ocks\u00e5 till den \u00f6kade latensen i motorn.<\/p>\n<p>L\u00e5t oss kort sammanfatta alla f\u00f6rdelar och nackdelar med HLS-teknologi.<\/p>\n<p><b>F\u00f6rdelarna med HLS:<\/b><\/p>\n<ol>\n<li>M\u00f6jlighet att arbeta med alla enheter. Du kan titta p\u00e5 video p\u00e5 vilken modern enhet som helst, vare sig det \u00e4r en smartphone, surfplatta, b\u00e4rbar dator eller station\u00e4r dator. Det viktigaste \u00e4r att webbl\u00e4saren \u00e4r av modern version och kompatibel med HTML5 och Media Source Extensions.<\/li>\n<li>Utm\u00e4rkt bildkvalitet. Den anv\u00e4nda funktionen f\u00f6r adaptiv data\u00f6verf\u00f6ring g\u00f6r det m\u00f6jligt att dynamiskt \u00e4ndra kvaliteten p\u00e5 den \u00f6verf\u00f6rda videostr\u00f6mmen beroende p\u00e5 bandbredden i internetanslutningen, samtidigt som algoritmen str\u00e4var efter att bevara kvaliteten s\u00e5 h\u00f6g som m\u00f6jligt.<\/li>\n<li>Ingen behov av komplicerade anv\u00e4ndarinst\u00e4llningar.<\/li>\n<\/ol>\n<p>\n<b>Nackdelar:<\/b><\/p>\n<ol>\n<li>Begr\u00e4nsat st\u00f6d f\u00f6r motor p\u00e5 vissa enheter.<\/li>\n<li>H\u00f6ga latenser i bild\u00f6verf\u00f6ringen.<\/li>\n<li>Starkt \u00f6kad overhead och komplexitet i optimeringen p\u00e5 grund av anv\u00e4ndning av sm\u00e5 filer. P\u00e5 grund av behoven hos containern kan vi aldrig f\u00e5 en latens som \u00e4r l\u00e4gre \u00e4n segmentets storlek.<\/li>\n<\/ol>\n<p>\nNackdelarna med HLS \u00f6vergick f\u00f6r oss dess f\u00f6rdelar och gjorde oss tvungna att leta efter alternativa l\u00f6sningar.<\/p>\n<h2>Vad \u00e4r WebRTC<\/h2>\n<p>\n<img decoding=\"async\" alt=\"WebRTC och vide\u00f6vervakning: hur vi besegrade f\u00f6rdr\u00f6jningen i videostr\u00f6mmen fr\u00e5n kameror\" src=\"\/wp-content\/uploads\/2019\/04\/0cf3c13dba71f6b268113af77841e521.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n(<noindex>c<\/noindex>)<\/p>\n<p>WebRTC-plattformen utvecklades av Google 2011 f\u00f6r att \u00f6verf\u00f6ra str\u00f6mmande video- och ljuddata mellan webbl\u00e4sare och mobilapplikationer med minimal latens. Detta g\u00f6rs med hj\u00e4lp av den standardiserade UDP-protokollet och speciella algoritmer f\u00f6r fl\u00f6deshantering. Idag \u00e4r det ett projekt med \u00f6ppen k\u00e4llkod, som aktivt st\u00f6djs och utvecklas av Google.<\/p>\n<p>WebRTC \u00e4r en upps\u00e4ttning teknologier f\u00f6r peer-to-peer \u00f6verf\u00f6ring av video och ljud. Det inneb\u00e4r att anv\u00e4ndarnas webbl\u00e4sare med hj\u00e4lp av WebRTC kan \u00f6verf\u00f6ra data direkt till varandra, utan att anv\u00e4nda externa servrar f\u00f6r lagring och bearbetning av information. All information bearbetas ocks\u00e5 av webbl\u00e4sare och mobilapplikationer hos slutkonsumenterna.<\/p>\n<p>Bekv\u00e4mligheten och de stora m\u00f6jligheterna med denna teknologi har uppskattats av utvecklare av alla popul\u00e4ra webbl\u00e4sare. Idag st\u00f6ds WebRTC i Mozilla Firefox, Opera, Google Chrome (och alla webbl\u00e4sare baserade p\u00e5 Chromium), samt i mobilapplikationer f\u00f6r Android och iOS.<\/p>\n<p>Trots sina sj\u00e4lvklara f\u00f6rdelar har WebRTC n\u00e5gra betydande nackdelar. <\/p>\n<h2>Sv\u00e5righeter med valet<\/h2>\n<p>\nWebRTC-teknologin \u00e4r mycket mer komplex n\u00e4r det kommer till n\u00e4tverksinteraktioner p\u00e5 grund av att den \u00e4r baserad p\u00e5 P2P. Den \u00e4r sv\u00e5r att debugga och testa, och den kan bete sig of\u00f6ruts\u00e4gbart. Dessutom beh\u00f6ver vi \u00f6vervinna NAT och brandv\u00e4ggar, och s\u00e4kerst\u00e4lla att den fungerar i n\u00e4tverk d\u00e4r UDP \u00e4r blockerat.<\/p>\n<p>Det \u00e4r mycket sv\u00e5rt att anv\u00e4nda Googles version av WebRTC. Det finns till och med ett helt f\u00f6retag som erbjuder tj\u00e4nster f\u00f6r att bygga SDK. Dessutom var det mycket sv\u00e5rt att integrera Googles l\u00f6sning med v\u00e5rt system utan att beh\u00f6va omkoda all video.<\/p>\n<p>Vi har l\u00e4nge velat ge anv\u00e4ndare m\u00f6jlighet att arbeta med riktig \"live\" video och minimera f\u00f6rdr\u00f6jningen mellan bilden p\u00e5 sk\u00e4rmen och de faktiska h\u00e4ndelserna. Dessutom ville vi g\u00f6ra anv\u00e4ndningen av PTZ-kameror mer bekv\u00e4m, d\u00e4r f\u00f6rdr\u00f6jningar \u00e4r kritiska.<\/p>\n<p>Med tanke p\u00e5 att andra implementeringar f\u00f6r att bek\u00e4mpa f\u00f6rdr\u00f6jningar fortfarande har begr\u00e4nsad funktionalitet och fungerar betydligt s\u00e4mre, beslutade vi oss f\u00f6r att anv\u00e4nda WebRTC. <\/p>\n<h2>Vad vi har gjort<\/h2>\n<p>\n<img decoding=\"async\" alt=\"WebRTC och vide\u00f6vervakning: hur vi besegrade f\u00f6rdr\u00f6jningen i videostr\u00f6mmen fr\u00e5n kameror\" src=\"\/wp-content\/uploads\/2019\/04\/714f94de43114e552e4d818e9ec927ae.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAtt korrekt implementera WebRTC-plattformen \u00e4r en sv\u00e5r uppgift. Varje felaktighet eller avvikelse kan leda till att f\u00f6rdr\u00f6jningarna i videostr\u00f6mmen inte bara inte minskar j\u00e4mf\u00f6rt med andra plattformar, utan ocks\u00e5 \u00f6kar.<\/p>\n<p>F\u00f6r att WebRTC ska fungera korrekt \u00e4r det f\u00f6rst och fr\u00e4mst n\u00f6dv\u00e4ndigt att genomf\u00f6ra en teknologisk modernisering av stacken f\u00f6r att arbeta med webbvideo. Det har vi gjort.<\/p>\n<p>F\u00f6rst implementerade vi en signaleringsserver f\u00f6r WebRTC-protokollet \u00f6ver Websocket, samt distribuerade en WebRTC peer-server i molnet baserat p\u00e5 SDK webrtc.org. Dess uppgift \u00e4r att f\u00f6rdela videostr\u00f6mmar till klienternas WebRTC peers i H.264 + Opus\/G.711 format utan att koda om videon.<\/p>\n<p>Vi valde Websocket som signaleringsprotokoll eftersom det redan har ett bra st\u00f6d i alla popul\u00e4ra webbl\u00e4sare. Detta g\u00f6r det m\u00f6jligt att avsev\u00e4rt minska inte bara utvecklingskostnaderna utan ocks\u00e5 att spara tid och resurser genom att undvika upprepade TCP- och TLS-handshakes j\u00e4mf\u00f6rt med AJAX.<\/p>\n<p>Saken \u00e4r den att WebRTC som standard inte erbjuder det signaleringsprotokoll som beh\u00f6vs f\u00f6r korrekt konfiguration, support och nedkoppling av videokommunikation i realtid mellan k\u00e4ll- och klientapplikationer.<\/p>\n<p>F\u00f6r att sj\u00e4lva implementera signaleringsteknologin beh\u00f6vde vi utveckla v\u00e5r egen signalserver med st\u00f6d f\u00f6r flera webbprotokoll (Websocet, WebRTC). Detta inkluderade s\u00e4ker hantering av sessioner och meddelanden i realtid, videostyrning och m\u00e5nga andra parametrar.<\/p>\n<p>Begr\u00e4nsningar med P2P \u00f6vervann vi genom att minska latensen inte via P2P, utan genom UDP och str\u00f6mhantering syftande till att reducera latensen. Detta \u00e4r ocks\u00e5 en del av WebRTC, eftersom den prim\u00e4ra anv\u00e4ndningen \u00e4r p2p-samtal via webbl\u00e4saren.<\/p>\n<p>I mobilklienten implementerade vi en spelare med anv\u00e4ndning av SDK webrtc.org, eftersom endast den har korrekt implementerat str\u00f6mhantering, alla k\u00e4nda scheman f\u00f6r Forward Error Correction (FEC) och en korrekt implementerad mekanism f\u00f6r paket\u00e5terf\u00f6ring f\u00f6r alla webbl\u00e4sare. Det \u00e4r ocks\u00e5 viktigt att notera att SDK webrtc.org aktivt utvecklas av Google.<\/p>\n<h2>Vad \u00e4r resultatet av att implementera WebRTC?<\/h2>\n<p>\n<center><iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/vk.com\/video_ext.php\" frameborder=\"0\" allowfullscreen><\/iframe><\/center><br \/>\nF\u00f6r att titta p\u00e5 livevideo fr\u00e5n kameror har vi lagt till en ny optimerad spelare baserad p\u00e5 WebRTC i anv\u00e4ndarens konto. Den s\u00e4kerst\u00e4ller h\u00f6g hastighet vid videoladdningen och eliminerar helt problemet med ackumulerad latens i takt med att visningstiden \u00f6kar.<\/p>\n<p>Efter inf\u00f6randet av WebRTC-st\u00f6d i molntj\u00e4nsten Ivideon kan vi med fullst\u00e4ndig s\u00e4kerhet s\u00e4ga att v\u00e5ra kunder nu har tillg\u00e5ng till att se fullt levande video. F\u00f6r n\u00e4rvarande \u00f6verstiger inte f\u00f6rdr\u00f6jningen vid \u00f6verf\u00f6ring av videostr\u00f6m en sekund! Som j\u00e4mf\u00f6relse gav den tidigare HLS-motorn en videoleverans med en f\u00f6rdr\u00f6jning p\u00e5 5-7 sekunder. Skillnaden i hastighet f\u00f6r videovisning \u00e4r mycket betydande, och anv\u00e4ndaren kommer att m\u00e4rka detta direkt efter att ha b\u00f6rjat anv\u00e4nda v\u00e5r videoservice.<\/p>\n<p>Som vi f\u00f6rv\u00e4ntade oss har implementeringen av den nya spelaren \u00f6kat responsiviteten f\u00f6r PTZ och r\u00f6stkommunikation med kameran.<\/p>\n<p><img decoding=\"async\" alt=\"WebRTC och vide\u00f6vervakning: hur vi besegrade f\u00f6rdr\u00f6jningen i videostr\u00f6mmen fr\u00e5n kameror\" src=\"\/wp-content\/uploads\/2019\/04\/b6775b11fbc6d97a7cede32cccc471ab.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDet finns bara en liten punkt som vi vill uppm\u00e4rksamma. Den nya WebRTC-spelaren fungerar f\u00f6r n\u00e4rvarande i testl\u00e4ge. Av den anledningen aktiverar vi inte den automatiskt f\u00f6r alla v\u00e5ra kunder. Men du kan aktivera den sj\u00e4lv genom att v\u00e4lja motsvarande alternativ i kamerans inst\u00e4llningar (f\u00f6r detta beh\u00f6ver du g\u00e5 till <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.ivideon.com\/my\/\">ditt personliga konto<\/a><\/noindex>).<\/p>\n<h2>Egenskaper f\u00f6r WebRTC-implementeringen i Ivideon-tj\u00e4nsten<\/h2>\n<p>\n<img decoding=\"async\" alt=\"WebRTC och vide\u00f6vervakning: hur vi besegrade f\u00f6rdr\u00f6jningen i videostr\u00f6mmen fr\u00e5n kameror\" src=\"\/wp-content\/uploads\/2019\/04\/247e640fa9334a0c144cc6b4296dc23b.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWebRTC \u00e4r f\u00f6r n\u00e4rvarande fortfarande en experimentell teknik. Dess st\u00f6d har \u00e4nnu inte implementerats korrekt i alla webbl\u00e4sare och anv\u00e4ndarapparater, samt inte i alla kameror.<\/p>\n<p>Det \u00e4r just detta som f\u00f6rklarar varf\u00f6r vi \u00e4nnu inte har gjort WebRTC-spelaren standard f\u00f6r alla anv\u00e4ndare.<\/p>\n<p>Vi rekommenderar f\u00f6r n\u00e4rvarande att anv\u00e4nda WebRTC endast i Google Chrome-webbl\u00e4sare. De senaste versionerna av Firefox och Safari st\u00f6der ocks\u00e5 denna teknik, men tyv\u00e4rr \u00e4r det fortfarande instabilt. <\/p>\n<p>Vi har \u00e4nnu inte inf\u00f6rt WebRTC-st\u00f6d f\u00f6r webbl\u00e4sare p\u00e5 mobila enheter. Om du nu loggar in fr\u00e5n en mobil enhet och aktiverar WebRTC kommer detta l\u00e4ge att fungera inte. D\u00e4remot finns WebRTC i v\u00e5ra mobilapplikationer f\u00f6r <noindex><a rel=\"nofollow\" href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.ivideon.client&amp;hl=ru\">Android<\/a><\/noindex> och <noindex><a rel=\"nofollow\" href=\"https:\/\/itunes.apple.com\/ru\/app\/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%BD%D0%B0%D0%B1%D0%BB%D1%8E%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5-ivideon\/id464234175?mt=8\">iOS<\/a><\/noindex>.<\/p>\n<p>Och som avslutning p\u00e5 v\u00e5r ber\u00e4ttelse om egenskaperna hos WebRTC-implementeringen i v\u00e5r tj\u00e4nst vill vi n\u00e4mna ytterligare tv\u00e5 viktiga punkter.<\/p>\n<p>F\u00f6r det f\u00f6rsta \u00e4r tekniken inriktad p\u00e5 att str\u00f6mma just levande video i realtid. D\u00e4rf\u00f6r, om din kanalbredband inte \u00e4r tillr\u00e4cklig f\u00f6r att \u00f6verf\u00f6ra videostr\u00f6mmen, kommer du att m\u00e4rka att bilder faller bort (med HLS kommer du att m\u00e4rka att videon fryser och f\u00f6rdr\u00f6jningen \u00f6kar, men bilder kommer inte att falla bort), men videon kommer fortfarande att str\u00f6mmas i realtid.<\/p>\n<p>F\u00f6r det andra, eftersom teknologin \u00e4r avsedd f\u00f6r att arbeta med livevideo i realtid, anv\u00e4nder vi den inte f\u00f6r att hantera arkiverade videodata.<\/p>\n<h2>Andra \u00e4ndringar i tj\u00e4nsten<\/h2>\n<p>\nF\u00f6r n\u00e4rvarande deltar inte Flash l\u00e4ngre i mekanismen f\u00f6r automatisk val av motor. Du kan fortfarande anv\u00e4nda en s\u00e5dan spelare, men du m\u00e5ste v\u00e4lja den manuellt i inst\u00e4llningarna f\u00f6r ditt konto eller din kamera. Detta \u00e4r inte en trend, utan enligt statistiken fr\u00e5n v\u00e5r tj\u00e4nst finns det praktiskt taget inga anv\u00e4ndare kvar som arbetar med Flash. Och p\u00e5 f\u00f6rs\u00f6ket att avg\u00f6ra om anv\u00e4ndarens webbl\u00e4sare st\u00f6der det, f\u00f6rlorar vi runt 2 sekunders v\u00e4rdefull tid. <\/p>\n<p>H\u00e4r \u00e4r en kort sammanfattning av de f\u00f6r\u00e4ndringar som v\u00e4ntar dig i v\u00e5rt molnbaserade \u00f6vervakningssystem och din personliga portal. H\u00e5ll dig uppdaterad med oss och f\u00f6lj nyheterna!<br \/>\n<br \/>K\u00e4lla: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ivideon\/blog\/449326\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0421 \u043f\u0435\u0440\u0432\u044b\u0445 \u0434\u043d\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430\u0434 \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439 \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u0433\u043e \u0432\u0438\u0434\u0435\u043e\u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u044f \u043c\u044b \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0438\u0441\u044c \u0441 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u043e\u0439, \u0431\u0435\u0437 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043d\u0430 Ivideon \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043a\u0440\u0435\u0441\u0442 \u2013 \u044d\u0442\u043e \u0431\u044b\u043b \u043d\u0430\u0448 \u042d\u0432\u0435\u0440\u0435\u0441\u0442, \u0432\u043e\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0442\u043d\u044f\u043b\u043e \u0443\u0439\u043c\u0443 \u0441\u0438\u043b, \u043d\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u043c\u044b, \u043d\u0430\u043a\u043e\u043d\u0435\u0446-\u0442\u043e, \u0432\u043e\u0442\u043a\u043d\u0443\u043b\u0438 \u043b\u0435\u0434\u043e\u0440\u0443\u0431 \u0432 \u043c\u0430\u043a\u0443\u0448\u043a\u0443 \u043a\u0440\u043e\u0441\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u0431\u0443\u0441\u0430. \u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0437\u0432\u0443\u043a\u0430 \u0438 \u0432\u0438\u0434\u0435\u043e \u0447\u0435\u0440\u0435\u0437 \u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u0430 \u0437\u0430\u0432\u0438\u0441\u0435\u0442\u044c \u043e\u0442 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f, Web-\u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":24131,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-32314","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=\"\u0421 \u043f\u0435\u0440\u0432\u044b\u0445 \u0434\u043d\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430\u0434.\" \/>\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\/webrtc-i-videonablyudenie-kak-my-pobedili-zaderzhku-video-s-kamer\" \/>\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\udd47WebRTC \u0438 \u0432\u0438\u0434\u0435\u043e\u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u0435: \u043a\u0430\u043a \u043c\u044b \u043f\u043e\u0431\u0435\u0434\u0438\u043b\u0438 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0443 \u0432\u0438\u0434\u0435\u043e \u0441 \u043a\u0430\u043c\u0435\u0440 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0421 \u043f\u0435\u0440\u0432\u044b\u0445 \u0434\u043d\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430\u0434.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/webrtc-i-videonablyudenie-kak-my-pobedili-zaderzhku-video-s-kamer\" \/>\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:46:17+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:46:17+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\udd47WebRTC och \u00f6vervakning: hur vi besegrade f\u00f6rdr\u00f6jningen av video fr\u00e5n kameror | ProHoster","description":"Fr\u00e5n de f\u00f6rsta dagarna av arbetet med.","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/webrtc-i-videonablyudenie-kak-my-pobedili-zaderzhku-video-s-kamer","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\udd47WebRTC \u0438 \u0432\u0438\u0434\u0435\u043e\u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u0435: \u043a\u0430\u043a \u043c\u044b \u043f\u043e\u0431\u0435\u0434\u0438\u043b\u0438 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0443 \u0432\u0438\u0434\u0435\u043e \u0441 \u043a\u0430\u043c\u0435\u0440 | ProHoster","og:description":"\u0421 \u043f\u0435\u0440\u0432\u044b\u0445 \u0434\u043d\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430\u0434.","og:url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/webrtc-i-videonablyudenie-kak-my-pobedili-zaderzhku-video-s-kamer","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:46:17+00:00","article:modified_time":"2019-10-31T18:46:17+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"32314","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"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 10:17:20","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 17:17:44","updated":"2026-01-21 10:17: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\/32314","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=32314"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/32314\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media\/24131"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=32314"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=32314"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=32314"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}