
Encodes each upstream VideoFrame into a rolling set of video files on disk, starting a fresh segment every file_size_seconds and keeping at most max_files. The container and encoder follow format and video_codec.
Transcode and segment. Decode a source video and re-encode it into rolling clips with a chosen codec and bitrate.
Annotated review archive. Decode frames, overlay analysis results, and record the annotated stream to disk.
fps sets the encoding frame rate; if it does not match the rate at which frames actually arrive, recorded playback drifts in time.video_codec must be compatible with the chosen format: `mpeg4` and `mjpeg` span `mp4`/`mkv`/`mov`/`avi`/`ts`, `h264` and `hevc` span every container except `webm`, `av1` spans every container except `mov`, `vp8` spans `webm`/`mkv`/`avi`, and `vp9` spans `webm`/`mkv`/`mp4`/`ts`/`flv`. An incompatible pair aborts startup, and an explicit pixel_format the codec rejects fails to open.crf of zero or more selects constant-quality rate control and supersedes video_bit_rate; -1 keeps fixed-bitrate encoding. Exactly one rate-control knob is always active and the chosen knob is logged at the first segment. Constant-quality control needs a codec that carries it (`h264`, `hevc`, `vp8`, `vp9`, `av1`); asking any other codec for a crf aborts startup rather than quietly encoding at a different quality than requested.preset names the encoder's speed/quality tradeoff. `h264` and `hevc` take the x264/x265 names from `ultrafast` through `placebo`, `av1` takes a number from `0` to `13`, and `vp8` and `vp9` accept `realtime`, `good` and `best`. A codec that carries no such tradeoff, or a name it does not accept, aborts startup rather than encoding at a tradeoff other than the one requested. Leave it empty for the encoder default.max_files is reached, so rotation overwrites the oldest segment by index rather than deleting files.width or height to zero keeps the source resolution.max_files of zero disables the rolling window so the directory grows without bound; all keys are captured once at startup with no runtime updates.live-test prerelease 2026-09-08T21:39:26Z