Skip to content

Screenshots for seeking

For smooth seeking, the streaming subsystem must be able to generate screenshots.

Catena SE uses JPEG screenshots.

JPEG screenshots can be used for:

  • preview thumbnails while seeking;
  • quickly “browsing” the archive;
  • basic video quality checks.

Load and transcoder

JPEG screenshots require additional CPU resources because a frame must be decoded and encoded into JPEG.

In Catena SE, screenshots are generated automatically when the transcoder is running (the recommended mode).

If the transcoder is disabled, enabling JPEG screenshots will increase server load, so plan CPU capacity accordingly.

Enabling screenshots is done in the template settings or individually per stream.

You can set a separate screenshot size.

Screenshots are stored in the archive together with the video and are available via API.

How to get a live screenshot

The latest live screenshot is available at:

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

How to get an archived screenshot

Archive screenshots are addressed by time in UTC epoch (seconds).

Screenshot for a given moment utc:

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

A human-readable GMT time format is also supported:

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

Screenshots embedded into playlists

Catena SE can add screenshot URLs directly into an HLS/DASH playlist (manifest). This is convenient for seek UI, because the player receives the preview timeline along with the playlist.

To do this, add thumbnails=<N> to the playback URL.

N is the number of screenshot links that will be added to cover the duration of the window (live/DVR/VOD). Larger N gives a denser preview grid, but increases client and network load.

Examples:

  • Live HLS:

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

  • Archive HLS (catchup):

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

  • Archive DASH:

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