Documente Academic
Documente Profesional
Documente Cultură
Implementarea sistemelor
de videoconferință
HD și WebRTC
Student:
Grupa:31121a
Suceava, 2019
Cuprins
Introducere..................................................................................................................................................2
Viteza de transfer necesară unei videoconferințe.........................................................................................2
Lățimea de bandă și QoS.............................................................................................................................2
Conexiuni de rețea convergente...................................................................................................................4
Legături de rețea dedicate............................................................................................................................4
Soluții pentru eficientizarea utlizării videoconferințelor..............................................................................5
Extinderea lățimii de bandă.....................................................................................................................5
Limitarea cererii de conferințe.................................................................................................................5
Compresie și accelerare a aplicației.........................................................................................................5
Codificarea video scalabilă (SVC)..........................................................................................................5
Trafic în timp real....................................................................................................................................6
Securitate și partajarea aplicațiilor...............................................................................................................6
Conexiuni în timp real prin VPN-uri...........................................................................................................6
WebRTC.....................................................................................................................................................7
Comunicare în timp real în WebRTC..........................................................................................................8
MCU (Multipoint Control Units).............................................................................................................8
Unitate de expediere selectivă.................................................................................................................9
MESH......................................................................................................................................................9
Componentele WebRTC...........................................................................................................................10
Session Description Protocol.................................................................................................................10
Fluxul media..........................................................................................................................................10
RTCPeerConnection..............................................................................................................................10
RTCDataChannel..................................................................................................................................11
Soluții de stocare pentru comunicații în timp real (RTP)...........................................................................11
Azure Storage Table..............................................................................................................................11
OrigoDB................................................................................................................................................11
Concluzie...................................................................................................................................................12
Introducere
Utilizarea conferințelor video ca instrument cheie de comunicare are un impact semnificativ în
eficiența și productivitatea unei întreprinderi. Conectarea rapidă dintre superiori și anagajați
dincolo de granițele geografice oferă o relație mai strânsă de lucru, economisește timp, și permite
întreprinderilor să utilizeze talentul divers din diferite părți ale lumii pe sarcini comune.
Implementarea videoconferințelor de înaltă calitate creează noi provocări pentru cei care le
implementează. Nici o dimensiune nu se potrivește tuturor atunci când vine vorba de cerințele
pentru videoconferințe.
Tabelul 2 și Figura 1 prezintă rezultatele unui astfel de studiu. În acest exemplu, o întreprindere
cu opt birouri este conectată la un furnizor comun de servicii cu o conexiune de rețea de tip
MPLS. Este creată o foaie de calcul cu numărul convorbirilor simultane de videoconferință
pentru fiecare dintre acestea în timpul orelor aglomerate ale activității (tabelul 2). De reținut este
faptul căun birou poate fi indisponibil la o anumită oră și e posibil să nu coincidă cu ora de lucru
a unui alt birou, în funcție de fusul orar și de natura afacerii.
Tabel 2- Exemple de cereri de videoconferință HD
16
14
12
10
O a doua modalitate de a reduce cererea este de a gestiona volumul apelurilor astfel încât un
număr limitat de apeluri poate apărea simultan în fiecare legătură.Gatekeeper-ul de conferință
vocală sau conferință video poate fi, de asemenea, utilizat pentru a ajuta la gestionarea utilizării
vitezei de transfer. Gatekeeper-ului îi poate fi alocat o lățime de bandă maximă disponibilă între
grupuri de puncte finale, care se referă la topologia rețelei. Gatekeeper-ul va permite numai
apeluri prin această legătură până la lățimea de bandă disponibilă în timp real alocată acelei
legături. Lățimea de bandă dată gatekeeper-ului este cantitatea maximă de trafic în timp real
permisă pe acea legătură, și nu capacitatea legăturii. Odată ce utilizarea legăturii atinge acest
maxim, gatekeeper-ul va refuza cererile de apel suplimentare.
Compresia și accelerarea aplicației- Datele video sunt substanțiale, iar când lățimea de bandă
sau stocarea datelor sunt limitate, aceasta trebuie comprimată cu scopul de a maximiza reducerea
datelor, menținând în același timp calitatea. Gradul de reducere a datelor se măsoară prin
mărimea fizică a octeților care este stocată sau prin rata de biți atunci când sunt transmise datele,
însă calitatea video este măsurată prin rezoluție sau prin numărul de pixeli din fiecare
dimensiune a imaginii. AplicațiileWAN utilizează diverse trucuri atât pentru a reduce traficul de
date, cât și pentru a crește simultan performanța aplicației. Acesteautilizează compresia, cache,
terminale TCP, transformări transparente, reducerea și alte tehnici pentru a-și atinge obiectivele.
Codificarea video scalabilă (SVC)- Tehnologia SVC oferă o structura de date cu mai multe
straturi, care permite sistemelor să se adapteze rețelelor variabile pentru a îmbunătăți rezoluțiile,
rata cadrelor și calitatea fluxurilor video. SVC este o extensie la H.264. Codurile avansate de
codare video (AVC) permit o calitate video mai bună la întâlnirile de colaborare chiar dacă
condițiile de rețea sau capacitățile clientuluisunt limitate. SVC este cea mai utilă atunci când
lățimea de bandă disponibilă nu poate fi controlată în mod explicit.
Software-ul pentru videoconferințe poate avea metode integrate pentru partajarea de diapozitive,
procesare de text și alte aplicații pe un computer, în timp ce dispozitivele hardware de
videoconferință permit utilizatorilor să introducă date de pe un computer o altă sursă de
informație și îl transmite ca video de înaltă rezoluție. Dacă mecanismele de partajare a
conținutului lipsesc, pot fi instalate programe software suplimentare pe computere pentru a le
furniza și se pot realiza două conexiuni, una pentru videoconferință și una pentru comunicații.
WebRTC
WebRTC este un proiect open source cu un efort de a aduce API-urile RTC dezvoltatorilor
JavaScript, permițând aplicațiilor web să suporte diferite funcții RTC precum apelarea vocală,
chat-ul video și partajarea de fișiere P2P prin intermediul browserului web . API-urile WebRTC
funcționează prin combinarea a două tehnologii, Hyper Text Markup Language (HTML) și
JavaScript.WebRTC în combinație cu alte tehnologii precum XSockets, Node.js, Vconect,
OpenCV, Kinect, Kurento și alte API-uri oferă o mulțime de atracții caracteristici și funcții,
inclusiv detectarea în timp real și recunoașterea fețelor, emoții, gesturi direct din browser. Acesta
permite aplicațiilor RTC de înaltă calitate să fie dezvoltate pentru platforme de browser,
dispozitive mobile și dispozitive IoT și să le permită tuturorcomunicarea printr-un set comun de
protocoale.
În Figura 2, există trei straturi, Web Server pe partea de sus, aplicația dezvoltată cu JavaScript /
în mediul HTML / CSS și sistemul de operare nativ în partea de jos. Aplicația se conectează la
serverul Web cu HTTP / WebSocket. HTTP este folosit pentru a trimite cererea și a primi
răspuns. Practic, este folosit pentru preluarea aplicației. WebSocket este utilizat pentru
configurarea conexiunii la WebServer și permite serverului să trimită date către aplicație.
Aplicația ajută la apelarea API WebRTC pentru a controla browserul Web și pentru a invoca
funcțiile RTC ale browserului, atunci utilizează resurse din sistemul nativ sau comunicarea cu
clientul de la distanță.
Figura 3 prezintă trapezoidul WebRTC și comunicarea în timp real în browser. În partea de jos
din stânga, browser-ul unui client stabilește o comunicare cu serverul Web folosind HTTP /
WebSockets, și același lucru pentru browserul altui client în partea de jos din dreapta. Web
serverele ajută la configurarea căii de semnalizare. Prin schimbul de informații între clienți și
prin calea de semnalizare, poate fi construită calea media. Pentru a realiza semnalizarea, un
client poate trimite informații către un anumit client la distanță. În timp ce clientul la distanță
primește informațiile și le trimite către expeditor.
Arhitectura WebRTC
Diferite arhitecturil ale WebRTC sunt discutate mai departe. Se estimează că până la sfârșitul
anului 2019, mai mult de 2 milioane de dispozitive vor utiliza WebRTC.
Pe de altă parte, în arhitectura SFU clientul primește mai multe fluxuri media, ceea ce duce la
consumul unei viteze mai mari de transfer pentru downlink decât uplink.
MESH
Arhitectura MESH este una dintre cele mai utilizate arhitecturi din aplicațiile WebRTC. Această
arhitectură este folosită de obicei pentru conferințele multimedia la scară redusă. În această
arhitectură, fiecare client individual se conectează la alt client, iar acesta schimbă fluxurile de
date și media direct între browsere fără implicarea serverului. Acest lucru economisește o
mulțime de costuri pentru întreținerea serverului. Acestă arhitectura bazată pe lățimea de bandă
poate scala până la 10 participanți la distanță.
Componentele WebRTC
Principalul avantaj al WebRTC în comparație cu alte sisteme este că acesta include o unitatea de
conectare interactivă (ICE).
Fluxul media
Fluxul media din WebRTC este responsabil în principal pentru obținereadatelor media de la
clienți. Acesta este, de asemenea, responsabil pentru luarea unei intrări și ieșiri, intrarea este cea
luată de aparatul foto și de microfon, în cazul în care producția este responsabilă pentru
trimiterea fluxurilor media către obiectivele dorite. De obicei, fluxul media este generat de
browser folosind getusermedia (). getusermedia () este API-ul în fluxurile mass-media care
solicită permisiunea clientului de a avea acces pentru utilizarea camerei și microfonului de către
browser. Dacă permisiunea este acordată de client atunci getusermedia () va invoca toți ceilalți
clienți cu o valoare 1, ceea ce înseamnă că ați primit o intrare video, audio sau ecran partajat, în
cazul în care clientul refuză permisiunea pe care o va invoca va fi valoarea 0 .
RTCPeerConnection
În WebRTC, RTCPeerConnection este responsabil pentru stabilirea unei conexiuni de tip peer-
to-peer dintre browsere și, de asemenea, stabilește conexiunea de la starea de semnalizare la stare
stabilă. Arhitectura WebRTC utilizează în principal trei componente diferite, cum ar fi audio,
video și mecanisme de transport. Componenta audio conține codecuri iSAC și iLBC, în principal
codecul iSAC responsabil pentru fluxurile audio. Mecanismul video este responsabil pentru
fluxul video din WebRTC a codecului VP8. Acesta ajută în principal la îmbunătățirea calității
imaginii și a imaginii video. Mecanismul de transport constă în principal în SRTP (Secure Real
Time Protocol) responsabil pentru fluxurile de date din WebRTC.
RTCDataChannel
Fluxurile de datede la clienți din WebRTC sunt schimbate în ambele direcții. Acest schimb se
face prin mecanismul RTCDataChannel. Utilizând RTCDataChannel starea de livrare a
mesajului poate fi cunoscută. Mesajele text și partajarea de fișiere au fost terminate utilizând
RTCDataChannel. Prin aceasta ar exista o latență scăzută.
Din figură putem vedea că atunci când un utilizator trimite date către server, serverul va interoga
aceste date cu spațiul de stocare Azure. Datele sunt stocate sub formă de tabele din cloud. Atunci
când un utilizator încearcă să recupereze datele, serverul va prelua din nou datele din tabela de
depozitare Azure.
OrigoDB
OrigoDB este o bază de date care poate fi utilizată pentru stocarea datelor binare în timp real.
OrigoDB folosește memoria RAM ca depozitare primară în server.
OrigoDB ajută dezvoltatorii să creeze o bază de date eficientă, cu un cost redus în mai puțin
timp.
Concluzie
Soluțiile pentru videoconferințe bazate pe standarde au promisiunea de interoperabilitate, în timp
ce produsele de calitate pentru consumatori oferă acces gratuit și omniprezent la videoconferințe
pentru o gamă largă de utilizatori. Deși cerințele privind lățimea de bandă reprezintă un factor
limitator, rezoluția crescută oferită poate face ca aceste aplicații să fie deosebit de atractive
pentru clienți. Cu ajutorul WebRTC, dezvoltatorii pot scăpa de obicei cu scrierea câtorva rânduri
de JavaScript pentru care furnizorii furnizează eșantioane de coduri.
Echipele interne de dezvoltare pot gestiona acest nivel de integrare, menținând costul WebRTC
mult mai mic decât cel al soluțiilor tradiționale de videoconferință.Indiferent de modul în care te
uiți la el, WebRTC are un avantaj semnificativ față de costul soluțiilor tradiționale. WebRTC nu
are costuri de licențiere, integrarea se poate face cu abilități de dezvoltare disponibile în mod
obișnuit, iar infrastructurile pot fi închiriate la rate scăzute de abonament. WebRTC elimină
nevoia de cheltuieli mari de capital și oferă promisiunea cost redus.
Bibliografie
[2] Research on Development and Evaluation of WebRTC Signaling based on XMPP,Chun Fan-
https://brage.bibsys.no/xmlui/bitstream/handle/11250/2456125/17685_FULLTEXT.pdf?
sequence=1
[6] Preparing Your IP Network for High Definition Video Conferencing, Articol -
www.polycom.com/.../hd-video-conferencing-wp-enus.pdf
[7] Five Reasons to Choose WebRTC for Video Calling, Articol- https://sightcall.com/five-
reasons-choose-webrtc-video-calling/