Запись видео с низкой задержкой - PullRequest
0 голосов
/ 06 апреля 2020

Alt Text

Видео сверху - это поток от navigator.mediaDevices.getUserMedia(), который установлен в качестве источника первого видеоэлемента. Нижнее видео - это видео от MediaRecorder API. Видео воспроизводится с виртуальной веб-камеры ( OBS VirtualCam , в частности)

У меня проблема с этим

  • Когда видео начинает воспроизводиться для веб-камера (однажды разрешенная), кажется, подталкивает носитель к MediaSource, но воспроизведение фактически заняло некоторое время (около 2-3 секунд). Что это за поведение?
  • Другая проблема заключается в том, что воспроизведение в нижнем видео задерживается, я проводил тестирование и обнаружил, что проблема в том, что mediaRecorder.ondataavailable запускается недостаточно быстро, поэтому отсрочки отсрочены. Каким образом возможно использовать MediaRecorder API или аналогичный API для записи с гораздо меньшей задержкой, чем эта.

ОБНОВЛЕНИЕ:

Что здесь происходит? 1. Видео с камеры воспроизводится непосредственно в видеоэлементе, этот видеопоток элемента записывается через API MediaRecorder, записанное видео отправляется на сервер (websocket). Видео (внизу) воспроизводит видео из веб-сокета. Мои тесты показывают, что задержка связана не с Websocket, а с MediaRecorder или с задержкой воспроизведения.

...