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.