Задать вопрос

Заставить браузер прекратить буфферизацию видеопотока?

В рамках курсовой работы написал простой сервер на С++ и OpenCV, который позволяет стримить видеопоток с веб-камеры в браузер. Видеопоток в формате .ogg, кодек Theora. Браузер всё добро отображает с помощью HTML5 — обычная страничка с тегом video.

Сервер с помощью OpenCV захватывает кадры с камеры и через кодек пишет их в файл, собственно стриминг в браузер идёт уже с файла.

Из-за неравномерного размера кадров при записи их с файла в буфер передачи через сокет возникает момент, когда браузер начинает проводить буфферизацию и не может дальше автоматически продолжить воспроизведение потока.

Вопрос: есть ли какие-то методы заставить браузер продолжить воспроизведение?
  • Вопрос задан
  • 4268 просмотров
Подписаться 4 Оценить Комментировать
Решения вопроса 1
@rowdyro
В аналогичных системах проще реализуется так называемая тайм машина — видео выдается с задержкой и вы складываете на сервере 15 секундные файлы, которые клиент читает.

Перед сохранением лучше делать qt-faststart чтобы атомный чанк был спереди и не надо было ждать загрузки всего файла.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
ntz
@ntz
Веб-сервер должен притормозить отдачу данных. Что он делает, когда достигает конца файла недописанного?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Wanted Москва
от 60 000 до 120 000 ₽
Wanted Санкт-Петербург
До 200 000 ₽
Wanted Москва
До 250 000 ₽