WebRTC - Demonstração do RTCDataChannel, mudanças na API... e o Chrome se comunica com o Firefox

Mais boas notícias do nosso velho amigo WebRTC.

Para ser mais preciso: três novidades e algumas pequenas mudanças na API.

RTCDataChannel para Chrome

O RTCDataChannel foi implementado no Chrome. Confira uma ótima demonstração em simpl.info/dc.

Esta demonstração mostra a comunicação ponto a ponto de dados arbitrários em menos de cem linhas de código. Para isso, você precisa do Google Chrome 25 ou superior, que neste momento significa Beta ou Canário.

O RTCDataChannel aproveita ao máximo os recursos integrados à RTCPeerConnection, não menos importante, o uso se o framework ICE para passar por firewalls e NATs, além de ter muitos aplicativos em potencial em que a baixa latência é fundamental: para jogos, aplicativos de área de trabalho remota, chat de texto em tempo real e transferência de arquivos.

Para mais informações sobre o RTCDataChannel, consulte Primeiros passos com o WebRTC.

Mudanças na API

Menos empolgante, mas ainda importante: a partir do Chrome 26, algumas propriedades da API RTCPeerConnection e da API MediaStream se tornaram métodos getter:

  1. O MediaStream agora tem o método getAudioTracks() em vez da propriedade audioTracks e getVideoTracks() em vez de videoTracks.
  2. RTCPeerConnection agora tem getLocalStreams() em vez de localStreams e getRemoteStreams() em vez de remoteStreams.

Para ter uma ideia do que é o MediaStream em ação, confira a demonstração da getUserMedia em simpl.info/gum. A variável stream está no escopo global: examine-a no console. Da mesma forma para RTCPeerConnection em simpl.info/pc: os objetos RTCPeerConnection pc1 e pc2 estão no escopo global.

Chrome <=> Firefox

E no caso você perdiu a, o Chrome agora pode "conversar" com o Firefox.

Faça um teste agora em webrtc.org/start (em inglês), que inclui instruções completas, links para o código-fonte e informações sobre as diferenças da API.

Dicas para os líderes da Mozilla e do Google que fizeram tudo acontecer.

Divirta-se com os códigos! Além disso, avise nossa equipe sobre bugs comentando nesta postagem ou em bugs.chromium.org. E não se esqueça de que você sempre pode ver informações atualizadas sobre implementação no excelente chromestatus.com.