video js html5 video получить абсолютное время относительно живого контента - PullRequest
1 голос
/ 06 марта 2020

Я использую Видео Js (используя HTML5 плеер) для воспроизведения живого контента из источника DA SH или HLS.

Я бы хотел знать, насколько далеко позади фактическое воспроизведение происходит из реального живого контента.

Как я могу это сделать?

Существует player.currentTime() и player.liveTracker.seekableEnd(), как описано в https://docs.videojs.com/tutorial-live.html, но они даны в относительных единицах и не обязательно отслеживают временную шкалу контента из-за буферизации / других задержек передачи по сети.

Как рассчитать, насколько далеко (в миллисекундах) проигрыватель играет против того, что фактический живой HLS или DA SH живой источник выводит?

1 Ответ

0 голосов
/ 20 марта 2020

Если вы просто хотите проверить разницу между временем отображения кадра на экране и временем фактического живого события (т. Е. В реальном мире), обычный способ сделать это - снять живые часы или 'clapperboard'.

Если вы тестируете сквозную доставку, возможно, с использованием облачной обработки, упаковки и c, то самый простой способ - это расположить часы и потоковое видео рядом друг с другом.

  • Снимайте видео с хлопушкой с вашей камерой
  • Подайте видеопоток в любой рабочий процесс вашего видео (кодировщики, упаковщики, CDN и т. Д. c)
  • Воспроизведите в прямом эфире на проигрывателе
  • Поместите с 'хлопушкой' и проигрывателем рядом друг с другом
  • Просмотрите, сфотографируйте или запишите на видео два экрана - разница между временем равна латентности

Амазонка имеет хороший обзор здесь, включая эту картинку, которая помогает объяснить это:

enter image description here

(https://aws.amazon.com/blogs/media/how-to-compete-with-broadcast-latency-using-current-adaptive-bitrate-technologies-part-1/)

Если хочешь быть Если вы сделаете это только на клиенте, вам понадобится добавить несколько точных временных меток в метаданные для каждого кадра. Я не знаю, какое стандартное оборудование делает это, но некоторые из них могут быть доступны - в H.264 есть механизмы, такие как SEI (https://mpeg.chiariglione.org/tags/sei-messages), чтобы передавать информацию для «дополнения» видео, но опять же, они обычно не используются таким образом AFAIK.

...