Chrome 47 включает несколько значительных улучшений и обновлений WebRTC.
Записывайте видео из ваших веб-приложений
API MediaStreamRecorder долгое время был самым популярным запросом на chromium.org, набрав более 2500 звёзд. Запись медиафайлов теперь добавлена в Chrome в качестве экспериментальной функции веб-платформы, хотя пока доступна только для настольных компьютеров. Это позволяет записывать, воспроизводить и скачивать видео. В репозитории примеров WebRTC есть простая демонстрационная версия, а подробности можно узнать в объявлении discussion-webrtc . Пример приложения Chrome для записи видео с экрана доступен на github.com/niklasenbom/RecordingApp . Это совершенно новые реализации, и в них ещё могут быть ошибки, требующие исправления: если у вас возникнут проблемы, пожалуйста, сообщите об этом в репозиториях.

Выбор устройства вывода звука
Выпущен MediaDevices.enumerateDevices() . Подробнее см. в выпуске Chromium 504280. Теперь вы можете перечислять устройства аудиовывода в дополнение к устройствам аудиоввода и видеоввода, которые уже предоставляет MediaStreamTrack.getSources() . Подробнее о том, как использовать этот метод, можно узнать в этом обновлении .
Поддержка устройств в Windows
Добавлена поддержка устройств связи по умолчанию в Windows. Это означает, что при перечислении аудиоустройств в Windows будет добавлена дополнительная запись для устройства связи с идентификатором «communications».
Идентификаторы устройств для аудиоустройства по умолчанию (и коммуникаций в Windows) больше не будут хешироваться ( ошибка 535980 ). Вместо этого поддерживаются два зарезервированных идентификатора: «default» и «communications», одинаковые для всех источников безопасности. Метки устройств будут транслироваться в соответствии с локалью браузера, поэтому разработчикам не следует ожидать, что метки будут иметь предопределённое значение. Точность рендеринга видео была улучшена за счёт передачи временной метки захвата вплоть до алгоритма рендеринга, где на её основе можно выбрать нужную вертикальную синхронизацию. Для платформы Windows временная метка захвата также стала точнее в Chrome 47.
Обработка прокси
В Chrome 47 добавлена новая настройка, которая принудительно отправляет трафик WebRTC через локальный прокси-сервер, если он настроен. Это важно для некоторых пользователей, просматривающих веб-страницы через VPN. Это означает, что приложение WebRTC будет видеть только IP-адрес прокси-сервера. Имейте в виду, что это снизит производительность приложения и не будет работать, если приложение не поддерживает TURN/TCP или ICE-TCP. Ожидайте скорого выхода новой версии расширения WebRTC Network Limiter Extension с пользовательским интерфейсом для этой настройки. Подробнее об «утечке» IP-адресов см. в статье «Что дальше для WebRTC» .

...и многое другое
Пропускная способность канала передачи данных существенно улучшена для соединений с большой задержкой.
Мы постепенно внедрим поддержку DTLS 1.2 в Chrome 47.
Хотя в этой версии ни VP9, ни H.264 не поддерживаются, работа над ними продолжается, и мы надеемся реализовать поддержку VP9 и начальной версии H.264 (с флагом) в Chrome 48.
Социальные объявления
- Начиная с Chrome 47, запросы
getUserMedia()разрешены только из безопасных источников: HTTPS или localhost. - Поддержка каналов передачи данных RTP прекращена. Все оставшиеся приложения, использующие каналы передачи данных RTP, должны использовать стандартные каналы передачи данных.
Как и для всех релизов, мы рекомендуем разработчикам попробовать Chrome на каналах Canary, Dev и Beta и сообщать о любых обнаруженных проблемах. Эта помощь бесценна. Инструкции по составлению качественного отчёта об ошибке см. на странице с ошибками WebRTC .
Демо-версии
- MediaRecorder
enumerateDevices():
Узнать больше
- Статус реализации MediaRecorder
- Редакторский проект «Захват и потоки медиа»: MediaDevices
- API устройств вывода звука
- Обновление WebRTC