Учебники

HTML5 — веб-RTC

Web RTC, представленный World Wide Web Consortium (W3C). Это поддерживает приложения браузера-браузера для голосовых вызовов, видеочата и обмена файлами по протоколу P2P.

Если вы хотите попробовать? Веб-RTC доступны для Chrome, Opera и Firefox. Хорошее место для начала — простое приложение видеочата здесь . Web RTC реализует три API, как показано ниже —

  • MediaStream — получить доступ к камере и микрофону пользователя.

  • RTCPeerConnection — получить доступ к средствам аудио- или видеозвонков.

  • RTCDataChannel — получить доступ к одноранговой связи.

MediaStream — получить доступ к камере и микрофону пользователя.

RTCPeerConnection — получить доступ к средствам аудио- или видеозвонков.

RTCDataChannel — получить доступ к одноранговой связи.

MediaStream

MediaStream представляет синхронизированные потоки мультимедиа. Например, нажмите «HTML5 Video player» в демонстрационном разделе HTML5 или нажмите здесь .

Приведенный выше пример содержит stream.getAudioTracks () и stream.VideoTracks (). Если аудиодорожек нет, он возвращает пустой массив и проверяет видеопоток, если веб-камера подключена, stream.getVideoTracks () возвращает массив из одного MediaStreamTrack, представляющего поток с веб-камеры. Простой пример — приложения чата, приложение чата получает поток с веб-камеры, задней камеры, микрофона.

Пример кода MediaStream

function gotStream(stream) {
   window.AudioContext = window.AudioContext || window.webkitAudioContext;
   var audioContext = new AudioContext();
   
   // Create an AudioNode from the stream
   var mediaStreamSource = audioContext.createMediaStreamSource(stream);
   
   // Connect it to destination to hear yourself
   // or any other node for processing!
   mediaStreamSource.connect(audioContext.destination);
}
navigator.getUserMedia({audio:true}, gotStream);

Скриншот

Это также возможно в браузере Chrome с mediaStreamSource и требует HTTPS. Эта функция еще не доступна в опере. Пример демонстрации доступен здесь

Контроль сеансов, информация о сети и медиа

Web RTC требует одноранговой связи между браузерами. Этот механизм требовал сигнализации, сетевой информации, управления сеансом и медиа-информации. Веб-разработчики могут выбрать другой механизм обмена данными между браузерами, такой как SIP или XMPP, или любые двусторонние коммуникации. Пример примера XHR здесь .