Synthetic source¶
The syntetic input is a built-in test signal generator: SMPTE bars with a running clock and a tone. It needs no external data and serves install verification, debugging, and load testing.
Configuration¶
The generator emits uncompressed frames (raw YUV and PCM). This is deliberate: the raw signal can be sent losslessly straight to SDI. To serve the stream over network protocols (and get the codec/quality variants you need), pair the generator with a transcoder:
streams:
- name: syn
inputs:
- syntetic: {}
transcoder:
output:
- source: !content video
codec: !set h264
- source: !content audio
codec: !set aac
segments: 6
Without a transcoder section the stream carries raw frames: a regular player cannot play it, but this is exactly the stream you need for SDI output.
Generator parameters (all optional, syntetic: {} gives a demo signal):
- syntetic:
video: !video
rate:
numerator: 30000 # fractional frame rates (NTSC) are supported
denominator: 1001
audio: !audio
sample_rate: 48000
channels: 2
Transport and codecs¶
This is a local generator with no network transport. It outputs YUV and PCM. For HLS/DASH and other network delivery protocols, encode to codecs they support, as shown above.
Parameters¶
| Parameter | Description |
|---|---|
video |
Video generator !video. Specifying audio alone does not add video. |
audio |
Audio generator !audio. Specifying video alone does not add audio. |
video.rate |
Frame rate: numerator / denominator. An explicit !video {} defaults to 30 fps. |
video.size |
Size {width: 1920, height: 1080} by default. |
audio.sample_rate |
PCM sample rate, 48000 Hz by default. |
audio.channels |
Channel count, 2 by default; clamped to 1–2. |
audio.bitrate |
This field exists in the configuration but is unused by the PCM generator; set compressed audio bitrate in the transcoder. |
If both video and audio are absent, the full demo signal is enabled: 1920×1080 at 25 fps and 48000 Hz stereo PCM. This differs from the frame rate default of an explicit video: !video {}.
Applying changes¶
Generator settings update while running without reopening the input. After changing parameters, check track composition and properties in stream statistics.
Timecode in the picture¶
Each frame's PTS is drawn into the luma band of the image and can be machine-read back. This makes it possible to measure end-to-end latency and find lost frames from the picture itself — handy when debugging the transcoder and protocols.