Skip to content

MPEG-TS

media.ingest.mpegts

Описание

Приём MPEG-TS из UDP unicast или multicast. Из MPTS можно выбрать программу полем program. Приём того же транспорта по HTTP описан в TSHTTP.

Настройка

Настройка выполняется через API central. Фрагмент конфигурации стрима:

streams:
- name: source1
  inputs:
  - udp:
      host: 239.0.0.1
      port: 5000
      program: 101
      peer_timeout_ms: 5000

Параметры

Поле Описание
host, port адрес и порт приёма; для multicast указывается группа.
program номер программы; без него выбирается первая программа с медиа.
source IPv4-отправитель SSM.
interface интерфейс multicast.
recv_buffer_bytes приёмный буфер (по умолчанию 4 МиБ).
peer_timeout_ms таймаут тишины.

Варианты транспорта

  • UDP unicast.

  • UDP multicast IPv4/IPv6 — подписка IGMP/MLD.

  • SSM IPv4 — фильтрация отправителя полем source.

Поддерживаемые кодеки

  • 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 — контейнер, а SRT, RIST, UDP и HTTP — способы его доставки. Перечень относится к извлечению кадров из MPEG-TS, а не к декодированию или поддержке этих кодеков плеером.

AV1 распознаётся по stream_type 0x06 и регистрационному дескриптору AV01 в PMT; один PES должен содержать целый temporal unit. MPEG-TS с AV1 без этой сигнализации не поддерживается. Для AAC реализован разбор ADTS; наличие stream_type 0x11 само по себе не означает поддержку LATM. Opus может быть распознан в PMT, но текущий PES-разборщик не выдаёт его кадры.

Поведение при ошибках

Состояние входа и причина отказа доступны в статистике стрима. При обрыве или отсутствии кадров действует общий механизм повторных подключений и переключения на резерв.

Применение изменений

Адрес и программа меняются с переподключением. recv_buffer_bytes меняется на лету у общего UDP-сокета; если его используют несколько стримов, действует последняя явно заданная настройка. peer_timeout_ms обновляется без разрыва.

Счётчики

Ниже — точные имена полей протокольной статистики. counter накапливает события, gauge показывает текущее значение; список включает оба вида. Нулевые поля могут отсутствовать в ответе. API и Prometheus используют разные проекции: весь список не следует ожидать в одном ответе Admin API. Доступ к детализации зависит от лицензии на счётчики.

Общие показатели входа: bytes, frames, errors, warnings. Они суммируют данные протокола, поэтому складывать их с протокольными счётчиками повторно не нужно.

Mpegts

Поле Тип
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

Поле Тип
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

Прочее

Вместе с видео и звуком MPEG-TS передаёт:

  • DVB-телетекст.

  • KLV-метаданные.

  • Метки SCTE-35.

  • Языковые дескрипторы дорожек и дескрипторы DVB subtitles из PMT.

Что дальше