WebRTC — демонстрация RTCDataChannel, изменения API... и переговоры Chrome с Firefox

Еще хорошие новости от нашего старого друга WebRTC .

Если быть точным : три хорошие новости и пара незначительных изменений API.

RTCDataChannel для Chrome

RTCDataChannel реализован в Chrome, и на сайте simpl.info/dc есть небольшая замечательная демонстрация.

Эта демонстрация показывает одноранговую связь произвольных данных – менее чем в сотне строк кода. Для этого вам понадобится Chrome 25 или выше, что на данный момент означает Beta или Canary .

RTCDataChannel максимально использует возможности, встроенные в RTCPeerConnection, в том числе использование фреймворка ICE для прохождения через брандмауэры и NAT, и имеет множество потенциальных приложений, где низкая задержка имеет первостепенное значение: для игр, приложений удаленного рабочего стола, текстового чата в реальном времени и передачи файлов.

Для получения дополнительной информации о RTCDataChannel ознакомьтесь с разделом Начало работы с WebRTC .

Изменения API

Менее захватывающе, но все равно важно: начиная с Chrome 26 некоторые свойства API RTCPeerConnection и MediaStream стали методами- геттерами :

  1. MediaStream теперь имеет метод getAudioTracks() вместо свойства audioTracks и getVideoTracks() вместо videoTracks .
  2. RTCPeerConnection теперь имеет getLocalStreams() вместо localStreams и getRemoteStreams() вместо remoteStreams .

Чтобы увидеть MediaStream в действии, взгляните на демонстрацию simpl.info/gum getUserMedia . Переменная stream находится в глобальной области видимости: проверьте ее из консоли. Аналогично для RTCPeerConnection на simpl.info/pc : объекты RTCPeerConnection pc1 и pc2 находятся в глобальной области видимости.

Хром <=> Firefox

И если вы это пропустили , Chrome теперь может «общаться » с Firefox.

Вы можете попробовать это прямо сейчас на сайте webrtc.org/start , где вы найдете полные инструкции, ссылки на исходный код и информацию о различиях API.

Снимаем шляпу перед теми из Mozilla и Google, кто сделал все это возможным.

Удачного кодирования! И, пожалуйста, дайте нам знать о любых ошибках, либо комментируя этот пост, либо на bugs.chromium.org . И не забывайте, вы всегда можете получить актуальную информацию о реализации на превосходном chromestatus.com .