SDI¶
media.ingest.sdi
Description¶
Sapsan receives uncompressed video and embedded audio from SDI cards. Supported families:
-
DekTec
-
DeckLink
-
AJA
-
Streamlabs
-
Softlab
-
Magewell
-
Acasis
12G-SDI is a separate ingest extension. SDI output and ASI ingest have separate pages.
Configuration¶
Configure the stream through the central API. Stream configuration fragment:
streams:
- name: source1
inputs:
- sdi:
device: /dev/v4l/by-path/pci-0000:5e:00.0-video-index0
pixel_format: v210
Parameters¶
| Field | Purpose |
|---|---|
device |
Required V4L2 capture device path |
standard |
Optional standard, such as hd1080i50 or uhd2160p50. Detected from the signal by default; set explicitly when the driver cannot detect it before capture starts |
pixel_format |
8 bit, default; v210: 10 bit |
audio |
Audio track list; defaults to stereo from channels 1–2 |
ad_marks |
Receive SCTE-104 markers from VANC; enabled by default |
timecode |
Use ATC timecode; enabled by default |
peer_timeout_ms |
Frame wait timeout, 30,000 ms by default |
Transport options¶
Capture requires a card driver exposing V4L2 and device access for Sapsan. Use a stable /dev/v4l/by-path/… path.
Supported codecs¶
- UYVY 4:2:2 (8-bit)
- v210 4:2:2 (10-bit)
- PCM
- AC-3 (SMPTE ST 337)
- E-AC-3 (SMPTE ST 337)
UYVY and v210 are uncompressed pixel formats, and PCM is uncompressed audio; they are not H.264/HEVC video codecs. Configure transcoding for compressed output. AC-3/E-AC-3 are extracted from an audio channel pair only with sample_type: smpte337; SMPTE ST 337 describes the packaging, not a separate audio codec.
Error handling¶
When the signal disappears, the input waits for it within peer_timeout_ms; after the timeout, the failure cause is no_signal. A video standard change restarts capture with the new parameters. For a busy device, check the port direction and other processes using it.
The input uses the shared retry and failover mechanisms. If the device format is incompatible, check that a compatible card driver is installed.
Applying changes¶
Apply changes through the central API. Changing the source address or format reopens capture and may interrupt ingest while connecting. Check input state and arriving frames afterwards.
Counters¶
The tables give exact protocol statistics field names, including event counters and current-value gauges. Zero fields may be omitted. API and Prometheus expose different projections; the full list is not necessarily present in one Admin API response. Detailed statistics depend on the counter license.
Common input totals: bytes, frames, errors, warnings. They aggregate protocol data and must not be added to protocol counters again.
Sdi¶
| Field | Type |
|---|---|
line_state |
gauge |
producer_restarts |
counter |
producer_restarts_wrong_standard |
counter |
producer_restarts_silence |
counter |
datagrams |
counter |
boundary_loss |
counter |
crc_errors |
counter |
unsupported_codec |
counter |
vanc_unknown |
counter |
vanc_cdp |
counter |
vanc_cdp_pairs |
counter |
ad_marks |
counter |
errors_ad_marks_dropped |
counter |
warning_ad_mark_descriptors_dropped |
counter |
timecode_missing |
counter |
timecode_rejected |
counter |
timecode_untrusted |
counter |
timecode_jumps |
counter |
Other details¶
Audio tracks¶
Position in audio sets the stream audio track number. channels lists SDI audio channels from 1 to 16 in the desired order; lang is an ISO 639-2 language code. A channel cannot belong to two tracks. An empty list selects stereo from the first pair.
sample_type: pcm selects uncompressed audio. If a channel carries data instead of PCM, that channel is replaced with silence in the PCM track.
AC-3 and E-AC-3 over SMPTE 337¶
For compressed audio in an SDI channel pair, set sample_type: smpte337 and exactly two channel numbers. The input extracts AC-3 or E-AC-3 without decoding to PCM. Unsupported types, including Dolby E, and ST 337 20-/24-bit modes are counted in sdi_unsupported_codec_total.
audio:
- channels: [1, 2]
lang: rus
- channels: [3, 4]
sample_type: smpte337
lang: rus
VANC ancillary data¶
-
OP-47 and VBI teletext feed the teletext track.
-
SCTE-104 is converted into markers on the shared
scte35track; see SCTE-35 for downstream delivery. -
CDP (CEA-608/708) is parsed and counted; it does not produce a separate subtitle track.
-
ATC timecode is used when
timecodeis enabled. -
Unknown DID/SDID pairs are counted.
Ingest and output are separate features. Output needs an output port; ASI has a separate page.