Как поддерживать синхронизацию потокового видео HTML5 после задержки соединения?

0

Я создаю небольшое веб-приложение, которое включает видео с IP-камерой. Я передаю код HTML5:

<video muted id="video_0" src="SOURCEURL" type="video/ogg" autoplay="autoplay"  width="100%" preload="none" controls/>

Видео размещено на моем ПК с помощью Netcam Studio и находится в формате WebM.

Для веб-приложения важно, чтобы видео было как можно ближе к реальному времени. Я как бы добился этого, снизив качество потоковой передачи и fps. Однако, через несколько часов потоковой передачи, это может занять до 15 секунд в реальном времени.

Какой лучший способ сохранить его актуальность? Я полагаю, что могу перезагрузить его каждые несколько минут, но не был уверен, что есть лучший способ.

Большая часть моей работы выполняется в AngularJS, если это влияет на ваш ответ.

Благодарю!

Теги:
video
video-streaming
html5-video

1 ответ

1
Лучший ответ

Вы можете периодически проверять свойство буферизации элемента видео HTML5 и сравнивать его с свойством currentTime. Если диапазон буферизации больше, чем какой-либо дельта, просто установите текущее время на некоторое значение вблизи конца буферизованного диапазона, чтобы искать ближе к концу. По крайней мере, это помогло нам с видео в реальном времени MP4.

У Chrome была ошибка, о которой я сообщил, где текущее время не было должным образом обновлено в случае MP4, вы должны проверить, страдает ли ваше видео ogg от того же самого, тогда это решение не поможет.

  • 0
    Потрясающие. Я думаю, что это сработало! Я не тестировал его дольше, чем несколько минут, но это, похоже, помогает. Спасибо за помощь!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню