Media Capture and Streams - Партнерская конференция «1С

реклама
Видеозвонки: технологии
реализации, кастомизация
Сербул Александр
Руководитель направления контроля
качества интеграции и внедрений
1С-Битрикс
Стандарты
http://www.w3.org/TR/webrtc/ - стандарт
W3C Working Draft 21 August 2012
http://www.webrtc.org/ - реализация
(компании Google, Mozilla, Opera)
Chrome - Stable (27)
Firefox – Betа, частичная
webrtc4all – для остальных
Кодеки
HTML5 конкуренты формату H.264
WebM: VP8/Vorbis/Matroska
WebRTC: VP8/(Opus, iSAC, iLBC)
На днях стабилизировался:
VP9/Opus - ожидается внедрение на YouTube
Media Capture and Streams –
структура браузерного API
http://www.w3.org/TR/mediacapture-streams/
W3C Working Draft 16 May 2013
Media Capture and Streams –
структура браузерного API
Работа с тегами Video,
объектами Canvas,
MediaStream,
MediaStreamTrack
WebRTC – структура API
«Real-time Communication Between
Browsers»
RTCPeerConnection – видео-аудио связь между
браузерами
RTCDataChannel – передача данных в обе
стороны
RTCStatsReport - статистика
WebRTC – пример
Самый маленький пример
WebRTC без кода сигналинга 
Сигналинг – на стороне Битрикс.
Стек WebRTC
ICE – «как найти друг друга»
«Interactive Connectivity Establishment (ICE)»
rfc5245, PROPOSED STANDARD, 2010
Браузеры «находят» друг друга, используя
технологии STUN/TURN.
Видео-аудио передается по протоколу SRTP (UDP).
STUN, TURN
«Session Traversal Utilities for NAT (STUN)»
rfc5245, PROPOSED STANDARD, 2008
«Traversal Using Relays around NAT (TURN)»
rfc5766, PROPOSED STANDARD, 2010
Сначала NAT изобрели, потом начали «обходить» 
Взаимодействие браузеров
Cтатусы peer
Браузеры обмениваются
описанием локальных
потоков (streams) и портов
через SDP
v=0
o=jdoe 2890844526 2890842807 IN IP4 10.47.16.5
s=SDP Seminar
i=A Seminar on the session description protocol
u=http://www.example.com/seminars/sdp.pdf
e=j.doe@example.com (Jane Doe)
c=IN IP4 224.2.17.12/127
t=2873397496 2873404696
a=recvonly
m=audio 49170 RTP/AVP 0
m=video 51372 RTP/AVP 99
a=rtpmap:99 h263-1998/90000
Cтатусы ICE
Соединение установлено,
когда «состыкованы» все
медиа-потоки.
Сигналинг
Браузеры передают описание сессии друг другу SDP
«An Offer/Answer Model with the Session Description
Protocol (SDP)»
rfc3264, PROPOSED STANDARD, 2002
Сигналинг реализован внутри модуля Битрикс/КП
Преодоление NAT
Преодоление NAT
Софт для TURN/STUN
restund (BSD license)
TurnServer (GNU GPL)
rfc5766-turn-server (New BSD)
Licode – пример открытого MCU для видеоконференций по WebRTC
Видео-кластер Битрикс
turn.calls.bitrix24.com – поддержка любых видов NAT (STUN, TURN)
STUN/TURN-сервер внутри «1С-Битрикс: Виртуальная машина» - в планах
Спасибо за внимание!
Вопросы?
Александр Сербул
serbul@1c-bitrix.ru
@AlexSerbul
Скачать