MPEG-TS¶
media.ingest.mpegts
Description¶
Receive MPEG-TS over UDP unicast or multicast. Select an MPTS program with program. See TSHTTP for MPEG-TS over HTTP.
Configuration¶
Configure the stream through the central API. Stream configuration fragment:
streams:
- name: source1
inputs:
- udp:
host: 239.0.0.1
port: 5000
program: 101
peer_timeout_ms: 5000
Parameters¶
| Field | Description |
|---|---|
host, port |
receiving address and port; use a multicast group for multicast. |
program |
program number; omit to select the first program carrying media. |
source |
IPv4 SSM sender. |
interface |
multicast interface. |
recv_buffer_bytes |
receive buffer (default 4 MiB). |
peer_timeout_ms |
inactivity timeout. |
Transport options¶
-
UDP unicast.
-
UDP multicast IPv4/IPv6 — IGMP/MLD membership.
-
IPv4 SSM — sender filtering with
source.
Supported codecs¶
- H.264
- HEVC / H.265
- AV1
- JPEG 2000
- MPEG-2 Video
- AAC (ADTS)
- AC-3
- E-AC-3
- MPEG Audio (Layer II / III)
- SMPTE ST 302M
MPEG-TS is the container; SRT, RIST, UDP and HTTP are delivery transports. This list describes extracting frames from MPEG-TS, not decoding them or player support.
AV1 requires stream_type 0x06 and the AV01 registration descriptor in the PMT; one PES must contain a complete temporal unit. AV1 in MPEG-TS without this signaling is not supported. AAC parsing uses ADTS; recognizing stream_type 0x11 does not establish LATM support. Opus can be identified in the PMT, but the current PES decoder does not emit its frames.
Error handling¶
Input state and failure cause are available in stream statistics. Connection loss or missing frames uses the shared retry and failover mechanisms.
Applying changes¶
Address and program changes reconnect the input. recv_buffer_bytes updates the shared UDP socket live; the last explicit setting applies when streams share it. peer_timeout_ms updates without disconnecting.
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.
Mpegts¶
| Field | Type |
|---|---|
bytes |
counter |
sync_bytes |
counter |
packets |
counter |
frames |
counter |
errors |
counter |
errors_ts_pat |
counter |
errors_ts_service_lost |
counter |
broken |
counter |
low_recv_buffer_secs |
counter |
recv_buffer_granted_bytes |
gauge |
recv_buffer_requested_bytes |
gauge |
recv_buffer_required_bytes |
gauge |
recv_buffer_drops |
counter |
memory_bytes |
gauge |
MpegtsPid¶
| Field | Type |
|---|---|
pid |
label |
pnr |
label |
packets |
counter |
frames |
counter |
empty_packets |
counter |
errors_adaptation_broken |
counter |
errors_ts_scrambled |
counter |
errors_ts_pmt |
counter |
errors_ts_cc |
counter |
errors_ts_tei |
counter |
errors_ts_psi_checksum |
counter |
errors_pid_lost |
counter |
broken_pes_count |
counter |
broken_pes_sum |
counter |
time_corrections |
counter |
corrected_backward_pts |
counter |
discarded_buffer_count |
counter |
discarded_buffer_sum |
counter |
fillers_count |
counter |
fillers_sum |
counter |
unpaired_fields |
counter |
warning_invalid_sibling_frames |
counter |
padding_pes_count |
counter |
padding_pes_sum |
counter |
orphan_pes_count |
counter |
dts_goes_backwards |
counter |
dts_jump_forward |
counter |
too_large_dts_jump |
counter |
pcr_resync |
counter |
pcr_jitter_ok_0 |
counter |
pcr_jitter_ok_500ns |
counter |
pcr_jitter_fail_500us |
counter |
pcr_jitter_fail |
counter |
hrd_buffer_min |
gauge |
hrd_buffer_max |
gauge |
hrd_buffer_underrun |
counter |
ad_marks |
counter |
errors_ad_marks_dropped |
counter |
warning_ad_mark_descriptors_dropped |
counter |
Other details¶
Alongside video and audio, MPEG-TS carries:
-
DVB teletext.
-
KLV metadata.
-
SCTE-35 markers.
-
Track language descriptors and DVB subtitle descriptors from the PMT.