Skip to content

Скриншоты для перемотки

Для удобной перемотки стриминговая подсистема должна уметь делать скриншоты.

В Catena SE используются JPEG-скриншоты.

JPEG-скриншоты можно использовать для:

  • предпросмотра (preview) при перемотке;
  • быстрого “пролистывания” архива;
  • оценки качества картинки.

Нагрузка и транскодер

JPEG-скриншоты требуют дополнительных ресурсов CPU, потому что кадр нужно декодировать и закодировать в JPEG.

В Catena SE скриншоты делаются автоматически при запущенном транскодере (рекомендуемый режим).

Если транскодер выключен, включение JPEG-скриншотов приведёт к росту нагрузки на сервер, поэтому планируйте CPU с запасом.

Включение скриншотов делается в настройках темплейта или отдельно для стрима.

Можно задать отдельный размер скриншотов.

Сами скриншоты хранятся в архиве вместе с видео и доступны для просмотра по апи.

Как получить live-скриншот

Последний live-скриншот потока доступен по URL:

https://<hostname>/lb/-/<channel>/preview.jpg

Как получить скриншот из архива

Скриншоты в архиве адресуются временем в UTC epoch (секунды).

Скриншот для момента времени utc:

https://<hostname>/lb/-/<channel>/<utc>.jpg

Также поддерживается человекочитаемый формат времени GMT:

https://<hostname>/lb/-/<channel>/YYYY/MM/DD/HH/MM/SS.jpg

Скриншоты, встроенные в плейлисты

Catena SE может добавлять ссылки на скриншоты прямо в HLS/DASH плейлист (или манифест) — это удобно для UI перемотки, потому что плеер получает таймлайн превью “в комплекте” с плейлистом.

Для этого добавьте параметр thumbnails=<N> к URL проигрывания.

N — это количество ссылок на скриншоты, которое будет добавлено в плейлист, чтобы покрыть длительность окна (live/DVR/VOD). Чем больше N, тем плотнее сетка превью, но тем больше нагрузка на клиент и сеть.

Примеры:

  • Live HLS:

https://<hostname>/lb/-/<channel>/index.m3u8?thumbnails=50

  • Архив HLS (catchup):

https://<hostname>/lb/-/<channel>/archive-<from>-<duration>.m3u8?thumbnails=50

  • Архив DASH:

https://<hostname>/lb/-/<channel>/Manifest-<from>-<duration>.mpd?thumbnails=50