Internet Windows Android

Ce este WebRTC și cum să-l dezactivați. Cum să organizați transmisia online WebRTC folosind o cameră web și o tehnologie webrtc de server VPS

Astăzi, WebRTC este tehnologia „fierbinte” pentru streaming audio și video în browsere. Tehnologiile conservatoare, cum ar fi HTTP Streaming și Flash, sunt mai potrivite pentru distribuirea conținutului înregistrat (video la cerere) și sunt semnificativ inferioare WebRTC în ceea ce privește transmisiile în timp real și online, de exemplu. unde este necesară o latență video minimă, permițând spectatorilor să vadă „în direct” ce se întâmplă.

Posibilitatea unei comunicații de înaltă calitate în timp real vine din arhitectura WebRTC în sine, unde protocolul UDP este utilizat pentru a transporta fluxuri video, care este baza standard pentru transmiterea video cu întârzieri minime și este utilizat pe scară largă în sistemele de comunicații în timp real.

Latența comunicării este importantă în sistemele de streaming live, seminarii web și alte aplicații în care este necesară comunicarea interactivă cu sursa video, utilizatorii finali și soluția.

Un alt motiv bun pentru a încerca WebRTC este cu siguranță o tendință. Astăzi, fiecare browser Android Chrome acceptă această tehnologie, care garantează că milioane de dispozitive sunt gata să vizioneze emisiunea fără a instala niciun software și configurații suplimentare.

Pentru a testa tehnologia WebRTC în acțiune și pentru a lansa o simplă difuzare online pe ea, am folosit software-ul server Flashphoner WebRTC Media & Broadcasting Server. Caracteristicile declară capacitatea de a difuza fluxuri WebRTC în modul one-to-many, precum și suport pentru camere IP și sisteme de supraveghere video prin protocolul RTSP; în această recenzie, ne vom concentra asupra transmisiunilor web-web și a caracteristicilor acestora.

Instalarea WebRTC Media & Broadcasting Server

Deoarece nu exista o versiune de server pentru sistemul Windows și nu am vrut să instalez o mașină virtuală precum VMWare + Linux, nu am putut testa emisiunile online pe computerul meu Windows de acasă. Pentru a economisi timp, am decis să luăm un exemplu de găzduire în cloud ca acesta:

Era un Centos x86_64 versiunea 6.5 fără niciun software preinstalat într-un centru de date din Amsterdam. Astfel, tot ce avem la dispoziție este un server și acces ssh la acesta. Pentru cei care sunt familiarizați cu comenzile consolei Linux, instalarea unui server WebRTC promite a fi ușoară și nedureroasă. Deci ce am facut:

1. Descărcați arhiva:

$wget https://website/download-wcs5-server.tar.gz

2. Despacheta:

$tar -xzf download-wcs5-server.tar.gz

3. Instalare:

$cd FlashphonerWebCallServer

În timpul instalării, introduceți adresa IP a serverului: XXX.XXX.XXX.XXX

4. Activați licența:

$cd /usr/local/FlashphonerWebCallServer/bin

$./activare.sh

5. Porniți serverul WCS:

$service webcallserver pornire

6. Verificați jurnalul:

$tail - f /usr/local/FlashphonerWebCallServer/logs/flashphoner_manager.log

7. Verificați dacă există două procese:

$ps aux | grep Flashphoner

Procesul de instalare este finalizat.

Testarea fluxurilor live WebRTC

Testarea emisiunilor s-a dovedit a fi o chestiune simplă. Pe lângă server, există un client web, care constă dintr-o duzină de fișiere Javascript, HTML și CSS și a fost implementat de noi în folderul /var/www/html în timpul fazei de instalare. Singurul lucru care trebuia făcut a fost să introduceți adresa IP a serverului în configurația flashphoner.xml, astfel încât clientul web să poată stabili o conexiune la server prin intermediul HTML5 Websockets. Să descriem procesul de testare.

1. Deschideți pagina index.html a clientului de testare în browserul Chrome:

2. Pentru a începe difuzarea, trebuie să faceți clic pe butonul „Start” din mijlocul ecranului.
Înainte de a face acest lucru, trebuie să vă asigurați că camera web este conectată și gata de funcționare. Nu există cerințe speciale pentru o cameră web, de exemplu, am folosit o cameră standard încorporată pentru laptop cu o rezoluție de 1280 × 800.

Browserul Chrome va cere cu siguranță acces la cameră și microfon, astfel încât utilizatorul să înțeleagă că videoclipul său va fi trimis pe serverul de Internet și îi va permite să facă acest lucru.

3. Interfața reprezintă o difuzare cu succes a fluxului video de la cameră către serverul WebRTC. În colțul din dreapta sus, indicatorul indică faptul că fluxul merge către server, în colțul de jos există un buton „Stop” pentru a opri trimiterea videoclipului.

Aruncă o privire la linkul de mai jos. Conține un identificator unic pentru acest flux, astfel încât oricine se poate alătura vizualizării. Doar deschideți acest link într-un browser. Pentru a-l copia în clipboard, trebuie să faceți clic pe butonul „Copiere”.

În aplicații reale precum webinarii, prelegeri, transmisii video online sau TV interactiv, dezvoltatorii vor trebui să implementeze distribuirea acestui identificator către anumite grupuri de telespectatori, astfel încât să se poată conecta la fluxurile dorite, dar aceasta este logica aplicației. WebRTC Media & Broadcasting Server nu afectează, ci se ocupă doar de distribuția video.

5. Conexiunea este stabilită și spectatorul vede fluxul pe ecran. Acum poate trimite linkul către altcineva, poate opri redarea fluxului sau poate activa modul ecran complet folosind comenzile din colțul din dreapta jos.

Rezultatele testării serverului WebRTC pentru emisiunile online

În timpul testelor, latența părea a fi perfectă. Ping-ul către centrul de date a fost de aproximativ 100 de milisecunde și întârzierea nu a fost vizibilă pentru ochi. De aici, putem presupune că întârzierea reală este aceeași 100 plus sau minus câteva zeci de milisecunde pentru timpul de tamponare. În comparație cu videoclipurile Flash, Flash nu funcționează la fel de bine ca WebRTC în aceste teste. Deci, dacă vă mutați mâna pe o rețea similară, atunci mișcarea de pe ecran poate fi văzută numai după una/două secunde.

În ceea ce privește calitatea, observăm că uneori se pot distinge cuburi pe mișcări. Acest lucru este în concordanță cu natura codecului VP8 și scopul său principal este de a oferi o comunicare video în timp real cu o calitate acceptabilă și fără întârzieri de comunicare.

Serverul este destul de ușor de instalat și configurat, nu necesită abilități serioase pentru a-l rula, cu excepția cunoștințelor de Linux la nivelul unui utilizator avansat care poate executa comenzi din consolă prin ssh și poate folosi un editor de text. Drept urmare, am reușit să stabilim o difuzare online unu-la-mulți între browsere. De asemenea, conectarea spectatorilor suplimentari la flux nu a cauzat probleme.

Calitatea difuzării s-a dovedit a fi destul de acceptabilă pentru webinarii și transmisiunile online. Singurul lucru care a creat unele întrebări a fost rezoluția videoclipului. Camera acceptă 1280x800, dar rezoluția imaginii de test este foarte asemănătoare cu 640x480. Aparent, această problemă trebuie clarificată cu dezvoltatorii.

Video despre testarea transmisiei de la o cameră web
prin serverul WebRTC

WebRTC (Web Real Time Communications) este un standard care descrie transferul de streaming de date audio, date video și conținut din browser și către browser în timp real, fără a instala plugin-uri sau alte extensii. Standardul vă permite să transformați browserul într-un terminal de videoconferință, doar deschideți o pagină web pentru a începe comunicarea.

Ce este WebRTC?

În acest articol, vom acoperi tot ce este de știut despre tehnologia WebRTC pentru utilizatorul obișnuit. Să luăm în considerare avantajele și dezavantajele proiectului, să dezvăluim câteva secrete, să vă spunem cum funcționează, unde și pentru ce este folosit WebRTC.

Ce trebuie să știți despre WebRTC?

Evoluția standardelor și tehnologiilor video

Sergey Yutsaitis, Cisco, Video+Conference 2016

Cum funcționează WebRTC

Pe partea clientului

  • Utilizatorul deschide o pagină care conține o etichetă HTML5
  • Browserul solicită acces la camera web și la microfonul utilizatorului.
  • Codul JavaScript de pe pagina de utilizator controlează parametrii de conectare (adresele IP și porturile serverului WebRTC sau alți clienți WebRTC) pentru a ocoli NAT și Firewall.
  • Când primește informații despre interlocutor sau despre fluxul cu conferința mixtă pe server, browserul începe să negocieze codecurile audio și video folosite.
  • Începe procesul de codificare și streaming de date între clienții WebRTC (în cazul nostru, între browser și server).

Pe partea de server WebRTC

Nu este necesar un server video pentru schimbul de date între doi participanți, dar dacă doriți să combinați mai mulți participanți într-o conferință, este necesar un server.



Serverul video va primi trafic media din diverse surse, îl va converti și îl va trimite utilizatorilor care folosesc WebRTC ca terminal.

Serverul WebRTC va primi, de asemenea, trafic media de la colegii WebRTC și îl va transmite participanților la conferință folosind aplicații desktop sau mobile, dacă există.

Beneficiile standardului

  • Nu este necesară instalarea de software.
  • Calitate foarte înaltă a comunicării datorită:
    • Utilizarea de codecuri video moderne (VP8, H.264) și audio (Opus).
    • Reglarea automată a calității fluxului la condițiile de conectare.
    • Anularea ecouului și a zgomotului încorporată.
    • Control automat al nivelului microfoanelor participanților (AGC).
  • Nivel ridicat de securitate: toate conexiunile sunt sigure și criptate conform protocoalelor TLS și SRTP.
  • Există un mecanism încorporat pentru captarea conținutului, cum ar fi desktopul.
  • Abilitatea de a implementa orice interfață de control bazată pe HTML5 și JavaScript.
  • Abilitatea de a integra interfața cu orice sistem back-end folosind WebSockets.
  • Un proiect open source - îl puteți încorpora în produsul sau serviciul dvs.
  • Adevărat multiplatformă: aceeași aplicație WebRTC va funcționa la fel de bine pe orice sistem de operare, desktop sau mobil, cu condiția ca browserul să accepte WebRTC. Acest lucru economisește o mulțime de resurse pentru dezvoltarea de software.

Dezavantajele standardului

  • Pentru a organiza conferințe audio și video de grup, este necesar un server de videoconferință care să combine video și audio de la participanți, deoarece browserul nu știe cum să sincronizeze mai multe fluxuri de intrare între ele.
  • Toate soluțiile WebRTC sunt incompatibile între ele, deoarece standardul descrie numai metode de transmitere video și sunet, lăsând implementarea metodelor de adresare a abonaților, urmărirea disponibilității acestora, schimbul de mesaje și fișiere, programare și alte lucruri pentru furnizor.
  • Cu alte cuvinte, nu veți putea apela de la o aplicație WebRTC a unui dezvoltator la o aplicație WebRTC a altui dezvoltator.
  • Mixarea conferințelor de grup necesită o mulțime de resurse de calcul, așa că acest tip de comunicare video necesită achiziționarea unui abonament plătit sau investiții în infrastructura sa, unde fiecare conferință necesită 1 nucleu fizic al unui procesor modern.

Secretele WebRTC: Cum beneficiază furnizorii de tehnologia web disruptivă


Tzachi Levent-Levi, Bloggeek.me, Video+Conference 2015

WebRTC pentru piața videoconferințelor

Creșterea numărului de terminale de videoconferință

Tehnologia WebRTC a avut un impact puternic asupra dezvoltării pieței videoconferințelor. După lansarea primelor browsere cu suport WebRTC în 2013, numărul potențial de terminale de videoconferință din întreaga lume a crescut imediat cu 1 miliard de dispozitive. De fapt, fiecare browser a devenit un terminal de videoconferință care nu este inferior omologilor săi hardware în ceea ce privește calitatea comunicației.

Utilizare în soluții specializate

Utilizarea diferitelor biblioteci JavaScript și API-uri pentru servicii cloud cu suport WebRTC facilitează adăugarea de suport video la orice proiecte web. În trecut, transmisia de date în timp real cerea dezvoltatorilor să învețe cum funcționau protocoalele și să folosească munca altor companii, care de cele mai multe ori necesitau licențiere suplimentară, ceea ce crește costurile. WebRTC este deja utilizat activ în servicii precum „Apel de pe site”, „Chat de asistență online”, etc.

Foști utilizatori Skype pentru Linux

În 2014, Microsoft a anunțat încetarea suportului pentru proiectul Skype pentru Linux, ceea ce a provocat o mare supărare în rândul profesioniștilor IT. Tehnologia WebRTC nu este legată de sistemul de operare, ci este implementată la nivel de browser, de exemplu. Utilizatorii Linux vor putea vedea produsele și serviciile bazate pe WebRTC ca un înlocuitor cu drepturi depline pentru Skype.

Concurență cu Flash

WebRTC și HTML5 au fost o lovitură de moarte pentru tehnologia Flash, care trecea deja prin cei departe de cei mai buni ani. Din 2017, browserele de top au încetat oficial să mai suporte Flash, iar tehnologia a dispărut în sfârșit de pe piață. Dar trebuie să acordați credit Flash, pentru că el a creat piața de conferințe web și a oferit capabilitățile tehnice pentru comunicarea live în browsere.

Prezentări video WebRTC

Dmitri Odintsov, TrueConf, Video+Conference octombrie 2017

Codecuri în WebRTC

Codecuri audio

Pentru a comprima traficul audio în WebRTC, se folosesc codecuri Opus și G.711.

G.711- cel mai vechi codec de voce cu un bitrate mare (64 kbps), care este cel mai des folosit în sistemele tradiționale de telefonie. Principalul avantaj este sarcina de calcul minimă datorită utilizării algoritmilor de compresie ușoare. Codecul are un nivel scăzut de compresie a semnalelor vocale și nu introduce întârziere audio suplimentară în timpul comunicării între utilizatori.

G.711 este acceptat de un număr mare de dispozitive. Sistemele care folosesc acest codec sunt mai ușor de utilizat decât cele bazate pe alte codecuri audio (G.723, G.726, G.728 etc.). În ceea ce privește calitatea, G.711 a primit un scor de 4,2 la testarea MOS (un scor de 4-5 este cel mai mare și înseamnă calitate bună, similar cu calitatea traficului de voce în ISDN și chiar mai mare).

Opus este un codec cu latență scăzută de codare (de la 2,5 ms la 60 ms), suport pentru rată de biți variabilă și compresie ridicată, care este ideal pentru streaming audio pe rețele cu lățime de bandă variabilă. Opus este o soluție hibridă care combină cele mai bune caracteristici ale codecurilor SILK (comprimarea vocii, eliminarea distorsiunii vorbirii umane) și CELT (codarea datelor audio). Codecul este disponibil gratuit, dezvoltatorii care îl folosesc nu trebuie să plătească drepturi de autor deținătorilor de drepturi de autor. În comparație cu alte codecuri audio, Opus câștigă cu siguranță în multe feluri. A eclipsat codecuri destul de populare cu rate de biți scăzute, cum ar fi MP3, Vorbis, AAC LC. Opus restabilește „imaginea” sunetului mai aproape de original decât AMR-WB și Speex. Acest codec este viitorul, motiv pentru care creatorii tehnologiei WebRTC l-au inclus în gama obligatorie de standarde audio acceptate.

Codecuri video

Problemele de alegere a unui codec video pentru WebRTC au luat dezvoltatorilor câțiva ani, în cele din urmă au decis să folosească H.264 și VP8. Aproape toate browserele moderne acceptă ambele codecuri. Serverele de videoconferință trebuie să accepte doar unul pentru a funcționa cu WebRTC.

VP8 este un codec video gratuit cu o licență deschisă, cu viteză mare de decodare a fluxului video și rezistență crescută la pierderea cadrelor. Codecul este universal, este ușor de implementat în platformele hardware, astfel încât dezvoltatorii de sisteme de videoconferință îl folosesc adesea în produsele lor.

Codec video plătit H.264 a devenit cunoscut mult mai devreme decât fratele său. Acesta este un codec cu un grad ridicat de compresie a fluxului video, menținând în același timp o calitate video înaltă. Prevalența ridicată a acestui codec printre sistemele hardware de videoconferință sugerează utilizarea sa în standardul WebRTC.

Google și Mozilla promovează în mod activ codecul VP8, în timp ce Microsoft, Apple și Cisco promovează activ H.264 (pentru a asigura compatibilitatea cu sistemele tradiționale de videoconferință). Și aici apare o problemă foarte mare pentru dezvoltatorii de soluții WebRTC bazate pe cloud, deoarece dacă toți participanții la conferință folosesc un singur browser, atunci este suficient să amestecați conferința o dată cu un singur codec, iar dacă browserele sunt diferite și printre ele există este Safari/Edge, atunci conferința va trebui să fie codificată de două ori codecuri diferite, ceea ce va dubla cerințele de sistem pentru serverul media și, ca urmare, costul abonamentelor la serviciile WebRTC.

API-ul WebRTC

Tehnologia WebRTC se bazează pe trei API-uri principale:

  • (responsabil ca browserul web să primească semnale audio și video de la camere sau desktopul utilizatorului).
  • RTCPeerConnection(responsabil pentru conexiunea dintre browsere pentru a „schimba” date media primite de la cameră, microfon și desktop. De asemenea, „datoriile” acestui API includ procesarea semnalului (curățarea acestuia de zgomote străine, reglarea volumului microfonului) și controlul asupra codecuri audio și video utilizate) .
  • Canal de date RTC(oferă transfer bidirecțional de date printr-o conexiune stabilită).

Înainte de a accesa microfonul și camera utilizatorului, browserul solicită această permisiune. În Google Chrome, puteți preconfigura accesul în secțiunea „Setări”, în Opera și Firefox, alegerea dispozitivelor se realizează direct în momentul accesării, din lista derulantă. Solicitarea de permisiune va apărea întotdeauna când utilizați protocolul HTTP și o dată dacă utilizați HTTPS:


RTCPeerConnection. Fiecare browser care participă la o conferință WebRTC trebuie să aibă acces la acest obiect. Datorită utilizării RTCPeerConnection, datele media de la un browser la altul pot trece chiar prin NAT și firewall-uri. Pentru a transmite cu succes fluxuri media, participanții trebuie să facă schimb de următoarele date folosind un transport, cum ar fi socket-urile web:

  • participantul inițiator trimite celui de-al doilea participant o Oferta-SDP (structură de date, cu caracteristicile fluxului media pe care îl va transmite);
  • al doilea participant generează un „răspuns” - Answer-SDP și îl trimite inițiatorului;
  • apoi, se organizează un schimb de candidați ICE între participanți, dacă se găsesc (dacă participanții sunt în spatele NAT sau firewall-uri).

După finalizarea cu succes a acestui schimb între participanți, transferul fluxurilor media (audio și video) este organizat direct.

Canal de date RTC. Suportul pentru protocolul Data Channel a apărut în browsere relativ recent, așa că acest API poate fi luat în considerare numai în cazurile în care WebRTC este utilizat în browserele Mozilla Firefox 22+ și Google Chrome 26+. Cu acesta, participanții pot face schimb de mesaje text în browser.

Conexiune WebRTC

Browsere desktop acceptate

  • Google Chrome (17+) și toate browserele bazate pe motorul Chromium;
  • Mozilla Firefox (18+);
  • Opera (12+);
  • Safari (11+);

Browsere mobile acceptate pentru Android

  • Google Chrome (28+);
  • Mozilla Firefox (24+);
  • Opera Mobile (12+);
  • Safari (11+).

WebRTC, Microsoft și Internet Explorer

De foarte mult timp, Microsoft a tăcut cu privire la suportul WebRTC în Internet Explorer și în noul său browser Edge. Băieților de la Redmond nu prea le place să pună tehnologia în mâinile utilizatorilor pe care ei nu îi controlează, asta e genul de politică. Dar treptat lucrurile au decolat, pentru că. Nu a mai fost posibil să se ignore WebRTC, iar proiectul ORTC, derivat din standardul WebRTC, a fost anunțat.

Potrivit dezvoltatorilor, ORTC este o extensie a standardului WebRTC cu un set îmbunătățit de API-uri bazate pe JavaScript și HTML5, ceea ce, tradus în limbaj obișnuit, înseamnă că totul va fi la fel, doar Microsoft, nu Google, va controla standardul. si dezvoltarea acesteia. Setul de codecuri a fost extins cu suport pentru H.264 și unele codecuri audio din seria G.7XX utilizate în sistemele de telefonie și videoconferință hardware. Poate că va exista suport încorporat pentru RDP (pentru transferul de conținut) și mesagerie. Apropo, utilizatorii de Internet Explorer nu au noroc, suportul ORTC va fi doar în Edge. Și, desigur, un astfel de set de protocoale și codecuri se potrivește cu Skype for Business cu puțin sânge, ceea ce deschide și mai multe aplicații de afaceri pentru WebRTC.

Salutare prieteni, după cum știți deja, vă actualizăm în mod regulat cu noile tehnologii, astăzi vă voi prezenta WebRTC, o tehnologie dezvoltată de Google care permite utilizatorilor să vorbească direct în browser video și audio fără a necesita utilizarea plugin-urilor- Site-uri web sau aplicații . Conexiunea directă video și audio între utilizatori are loc direct în browser.
Tehnologia WebRTC este acceptată în browserele Mozilla Firefox Google Chrome și pe orice sistem de operare, Opera se va alătura în curând.
Ce este WebRTC și ce?
WebRTC este prescurtarea de la Web Real Time Communication, această tehnologie vă permite să deschideți chat-uri audio și video direct în browser fără a fi nevoie de alte plug-in-uri, aplicații sau servicii de pe Internet pentru aceasta. Conexiunea se face direct din browser la browser.
Acolo unde serviciile cunoscute (Skype, Yahoo Messenger, Apple FaceTime, Google Hago etc.) necesită un server care conectează utilizatorii pentru a iniția și gestiona traficul. Folosind aceste servicii trebuie să ne înregistrăm și să stabilim o listă de clienți și contacte.
Cu WebRTC, nu avem nevoie de servere, aplicații sau servere care se conectează pentru a interveni.
Avantajele WebRTC:
1. Nu mai sunt aplicații care consumă resurse și baterie.
2. Chaturile sunt mai private (relativ).
3. Contactul se poate face local, nu serverele Flos US pentru conexiuni locale.
4. Simplitate, ușurință în utilizare.
5. Posibilitatea dezvoltării ulterioare, și în alte direcții.
6. Comunicarea este stabilă și nu depinde de conexiunile externe, care uneori sunt extrem de instabile.
În tutorial, am folosit un demo pe care oamenii de la Google l-au dezvoltat, acest demo este destul de simplu, funcții mai avansate și conexiuni mai rapide pot folosi una dintre aplicațiile care acceptă WebRTC, sunt mai ușor de utilizat. În curând vom face și un tutorial despre aplicațiile WebRTC.
Cum se utilizează demo-ul WebRTC?
Foarte simplu faceți clic pe linkul de mai jos, acesta generează automat un chat. pentru a lega această cameră, trebuie să trimiteți un prieten/prietenă pe care doriți să o contactați.
Un prieten/prietenă și al tău, dar ar trebui să folosești doar cele mai recente versiuni de Mozilla Firefox sau Google Chrome.

Demo WebRTC(Audio-video introductiv prin chat)

Atenţie:
Demo-ul nu este foarte stabil, este făcut doar în scop demonstrativ. Poate fi folosit pentru o perioadă limitată de timp în care pot apărea mici erori de conectare.
Dacă întâmpinați probleme de conectivitate, încercați să creați un alt chat.

Utilizatorii de internet europeni sunt împărțiți în două părți: conform unui sondaj al Institutului pentru Analiza Opiniei Publice din Allenbach (Germania), Skype, sistemele de chat și de mesagerie instant au devenit parte integrantă a vieții de zi cu zi pentru 16,5 milioane de adulți și copii, 9 milioane folosesc aceste servicii de la caz la caz, iar 28 de milioane nu le ating.

Situația se poate schimba, deoarece acum Firefox este integrat tehnologie de comunicare în timp real (WebRTC), precum și clientul însuși. Pornirea unui chat audio și video nu este acum mai dificilă decât deschiderea unui site web. Servicii precum Facebook și Skype, pe de altă parte, se bazează pe soluții care folosesc un client separat și creează un cont.

WebRTC nu este doar ușor de utilizat. Această metodă vă permite chiar să setați conexiune directă între două browsere. Astfel, datele audio și video nu trec printr-un server unde poate apărea supraîncărcare sau al cărui administrator nu este deosebit de sensibil la confidențialitate sau protecția datelor. Cu o conexiune directă, WebRTC nu necesită înregistrare sau un cont la niciun serviciu.

Pentru a începe o conversație, trebuie doar să urmați linkul. Comunicarea rămâne privată deoarece fluxul de date este criptat. Comunicarea în timp real prin browser, Google a început să se implice activ în 2011, când a publicat codul sursă al implementării sale WebRTC.

La scurt timp după aceea, Chrome și Firefox și-au primit propriile motoare WebRTC. În prezent, versiunile lor mobile sunt echipate atât cu această tehnologie, cât și cu motorul WebView 3.6 instalat cu Android 5.0, care este folosit de aplicații.

Pentru comunicarea în timp real, interfețele JavaScript corespunzătoare trebuie implementate în vizualizatorul web. Cu GetUserMedia, software-ul permite capturarea din surse audio și video, adică webcam și microfon. RTCPeerConnection este responsabil pentru stabilirea conexiunii, precum și pentru comunicarea în sine.

În paralel cu integrarea browserului, grupul de lucru World Wide Web Consortium (W3C) a promovat procesul de standardizare WebRTC. Ar trebui finalizat în 2015.

WebRTC se mulțumește cu puțin

Utilizarea serviciului WebRTC nu necesită multe resurse, deoarece serverul conectează doar prietenii. Stabilirea unei conexiuni nu este, de asemenea, deosebit de dificilă. În primul rând, browserul semnalează serverului WebRTC că intenționează să inițieze un apel. Primește o legătură HTTPS de la server - conexiunea este criptată. Utilizatorul trimite acest link interlocutorului său. Browserul cere apoi utilizatorului permisiunea de a accesa camera web și microfon.

Pentru a stabili o conexiune directă de streaming cu cealaltă parte, browserul primește adresa sa IP și datele de configurare de la serviciul WebRTC. Browserul web al prietenului face același lucru.

Pentru ca conexiunea de streaming să funcționeze fără probleme și de bună calitate, trei motoare funcționează în browser. Două dintre ele optimizează și comprimă datele audio și video, al treilea este responsabil de transportul lor. Trimite date prin Protocolul SRTP(Secure Real-time Transport Protocol), care permite streaming criptat în timp real.

Dacă o conexiune directă eșuează, WebRTC caută o altă cale. De exemplu, acest lucru se întâmplă atunci când setările de rețea împiedică serverul STUN să poată raporta adresa IP. Standardul WebRTC prevede că în acest caz conversația va avea loc, dar cu includerea intermediară a serverului TURN (Traversal Using Relays around NAT). Deci, pe site-ul netscan.co, puteți verifica dacă WebRTC este implementat pe computer și cu accesul dvs. la Web.

Cum se face legătura

Mai întâi trebuie să înregistrați o conversație (1). Serviciul WebRTC oferă o legătură care trebuie trimisă interlocutorului. Browserul, folosind STUNserver, află propria sa adresă IP (2), o trimite către serviciu și primește IP-ul partenerului pentru a stabili o conexiune directă (3). Dacă STUN eșuează, conversația este redirecționată folosind serverul TURN (4).

Comunicarea folosind tehnologia WebRTC în browser este lansată folosind codul JavaScript. După aceea, trei motoare sunt responsabile de comunicare: motoarele de voce și video colectează date multimedia de la camera web și microfon, iar motorul de transport combină informațiile și trimite fluxul în formă criptată folosind Secure Real-time Protocol (SRTP).

Ce browsere funcționează cu WebRTC

Chrome și Firefox sunt echipate cu un motor WebRTC care utilizează servicii precum talky.io. Browserul Mozilla poate funcționa direct cu propriul client.

Google și Mozilla continuă să dezvolte ideea comunicării în timp real: Chrome poate găzdui o conferință WebRTC cu mai mulți participanți, iar noul client Hello în Firefox este dezvoltat cu ajutorul unei subsidiare a gigantului de telecomunicații Telefonica. Apple rămâne deocamdată pe margine, nu ar trebui să vă așteptați încă la WebRTC în Safari. Cu toate acestea, există o mulțime de aplicații și plugin-uri alternative iOS pentru Safari.

Microsoft urmează un curs ușor diferit. În calitate de proprietar al serviciului competitiv Skype, această companie nu va capitula atât de ușor în fața WebRTC. În schimb, Microsoft dezvoltă o tehnologie numită ORTC (Object Real-Time Communications) pentru Internet Explorer.

Diferențele față de WebRTC, cum ar fi diferite codecuri și protocoale pentru stabilirea contactului cu serverul, sunt minore și, în timp, cel mai probabil, vor deveni în plus față de standardul WebRTC, care va include aceste diferențe. Astfel, doar Apple rămâne în urmă - ca de obicei.

Fotografie: Companii de productie; goodluz/Photolia.com