Скриншоты для перемотки¶
Для удобной перемотки стриминговая подсистема должна уметь делать скриншоты.
В 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