Replay Recorder Target
Replay Recorder Target properties for Script Engine. Records its scene for replays: one continuous encode written as segment files in MXF (the default) or MPEG-TS, each starting on a keyframe and written frame by frame, so the newest seconds can be replayed while recording continues. MXF segments are 1 minute to a whole recording long, MPEG-TS segments 2 to 20 seconds. Give each camera, and the program, a scene and a Replay Recorder Target of its own: every recorder stamps a frame with the same time-of-day timecode, so one moment can be found in every angle. Recordings go to the Replay directory in Settings, one folder per recording session with a subfolder named after each recorder. Each recorder deletes its own recordings once they are older than it keeps them (Keep recordings), when recording starts or stops.
| Property | Type | Access | Description |
|---|---|---|---|
VideoEncoder |
ReplayVideoEncoder |
get/set |
The GPU encoder the recording is made with: H.264 (NVENC) (the default) or HEVC (NVENC). HEVC is recorded as MPEG-TS: choosing it sets Container to MPEG-TS and keeps it there. |
Container |
ReplayContainer |
get/set |
The file format of the segment files: MXF (the default; OP1a with 24-bit PCM sound, the format broadcast tools work with) or MPEG-TS (with AAC sound). MXF cannot carry HEVC, so with HEVC this is MPEG-TS and cannot be changed. |
MpegTsSegmentLength |
int |
get/set |
Length of each MPEG-TS segment file in seconds [min=2, max=20, default=10]. Shown when Container is MPEG-TS. |
MxfSegmentLength |
ReplayMxfSegmentLength |
get/set |
Length of each MXF file: 1 minute, 5 minutes, 10 minutes (the default), 1 hour or Unlimited (one file for the whole recording, finished only when recording stops). Shown when Container is MXF. |
KeyframeInterval |
int |
get/set |
A keyframe every this many frames [min=1, max=50, default=10]. Every segment file also starts on one. 1 makes every frame a keyframe (all-intra): the fastest to jump to any frame and to play backwards, at several times the file size. |
Quality |
int |
get/set |
Picture quality as a constant quantizer [min=10, max=40, default=21]. Lower is better quality and larger files; six steps roughly halve or double the size. A constant quality rather than a bitrate, so busy pictures take more space than calm ones. |
RecordingState |
RecordingState |
get |
Current recording state: Stopped, Starting, Recording or Stopping. |
RecordingLength |
TimeCode |
get |
Length of the current recording as a time code (HH:MM:SS:FF, read-only). Updates while recording. |
StartCommand |
Command |
get |
Start recording into a new folder for this recorder in the current recording session. |
StopCommand |
Command |
get |
Stop recording. The last segment file is closed; every segment stays readable. |
KeepRecordings |
ReplayKeepRecordings |
get/set |
How long this recorder keeps its recordings, counted from when each one stopped: 1 day, 1 week, 1 month or Forever (the default). Each time recording starts or stops, the recorder deletes its recordings in the Replay directory that are older, on a thread of its own, and logs every file it deletes. Only recordings this recorder made are deleted. One that a Replay Channel is showing is kept until a later start or stop, and clips marked in a deleted recording no longer play. |
RecordingFolder |
string |
get |
The folder the current recording is written to (read-only): the session folder, then this recorder's subfolder. |
RecordedSize |
string |
get |
How much the current recording has written to disk, in MB or GB (read-only): every segment file, the one still being written included, picture and sound. Updates about once a second, keeps its final value when the recording stops, and starts again from zero with the next recording. |
FreeDiskSpace |
string |
get |
Free space on the disk recordings go to (read-only), updated about once a second. While nothing records it is the disk of the Replay directory; while recording, the disk of the recording, with about how much recording time that leaves at the rate the disk is filling, other recorders writing to it included. With less than 30 minutes left the recorder shows a warning. |
DataRate |
string |
get |
How fast the current recording writes to disk, in MB/s (read-only): over the last few seconds while recording, and averaged over the whole recording once it has stopped. |
FramesWritten |
int |
get |
Video frames written to the current recording and listed in its index (read-only). |
FramesDropped |
int |
get |
Video frames left out of the current recording because the encoder or the disk fell behind (read-only). Each one leaves a gap in the recording's timeline; anything above 0 means the machine cannot keep up with these settings. |
FramesRefused |
int |
get |
Video frames that reached the recorder but were not recorded (read-only): there was no picture to convert, the encoder had no picture free, or a frame came out of order. Like a dropped frame, each leaves a gap. |
SoundDropped |
int |
get |
Sound left out of the current recording because the writer fell behind, in milliseconds (read-only). The sound after a gap keeps its time against the picture. |
AverageEncodingTime |
string |
get |
Average time, in milliseconds, spent encoding and writing each video frame (read-only). It must stay below one frame's duration (20 ms at 50 fps) for the recorder to keep up. |
ComponentLog |
ComponentLog |
get |
The recorder's recent messages (read-only): when each recording started and stopped, why one stopped or could not start, warnings that the recording disk is filling up, and the recordings it deleted because it no longer keeps them. |
OpenFolderCommand |
Command |
get |
Opens the current (or last) recording folder in Windows Explorer. |
Inherits from: AbstractTarget, NamedModel.
See also: Replay Recorder Target in Targets — user-facing introduction, screenshots, and section summaries.