O WebRTC é uma tecnologia de navegador projetada para transferir dados de streaming entre navegadores ou aplicativos usando a tecnologia de transmissão ponto a ponto .
Essa tecnologia é boa, pois permite estabelecer comunicação entre usuários usando apenas um navegador. Para alguns desenvolvedores, quando aprendem sobre o WebRTC, isso se torna uma descoberta: você pode criar um bate-papo por vídeo sem usar um servidor de terceiros - você só precisa de um navegador.O WebRTC não requer a instalação de plugins adicionais. Você só precisa escrever o código em HTML ou JavaScript, e os fluxos de vídeo no navegador funcionarão sem problemas.
O WebRTC pode ser usado não apenas para bate-papos por vídeo: a tecnologia permite transferir arquivos de qualquer formato e mensagem de texto.
API WebRTC
O WebRTC possui um conjunto bastante grande de recursos e ferramentas. Neste artigo, analisaremos três APIs.
A API permite gerenciar dispositivos do usuário a partir de um navegador. Aqui você pode escolher:
- a câmera da qual o vídeo deve ser transmitido;
- microfone;
- qualidade de imagem transmitida.
. , , 360 .
: .
2. RTCPeerConnection
API- Peer-to-Peer, , . , .
RTCPeerConnection — Stun/Turn, NAT, - .
Stun/Turn . , Stun/Turn . , - NAT.
3. RTCDataChannel
RTCDataChannel, .
API . , 4 ( , ).
Flash
Flash . ( - ), Flash, , WebRTC.
, WebRTC , . , , .
, WebRTC Flash. , Flash.
WebRTC — — TCP UDP.
TCP , : , . . , Full HD .
UDP: . : . - .
. WebRTC , , , .
WebRTC
, WebRTC — - . . , Skype .
?
WebRTC , . , , .
WebRTC
Google Chrome , WebRTC. : , , , Stun/Turn.
:
, WebRTC. . — 16 ( 15 ).
— 15 .
- , , -. - Wowza, . - - Amazon, . , , — , .
FFmpeg — , .
Precisávamos encontrar uma solução para o problema de exibir fluxos de vídeo sem usar sistemas de terceiros. Decidimos usar a tecnologia WebRTC, e essa foi a solução ideal para transmitir vídeo através de um navegador.
Conclusão
Ainda não temos muita experiência na aplicação dessa tecnologia, por isso serei grato se você compartilhar seus casos da prática e de fontes interessantes para um estudo mais aprofundado.