HDMI¶
media.ingest.hdmi
Описание¶
Приём несжатого видео и встроенного звука по HDMI через карты DeckLink и серию HWS (AVMatrix, Acasis). Доступные разрешения и частоты определяются моделью карты и режимом входного сигнала.
Настройка¶
Настройка выполняется через API central. Фрагмент конфигурации стрима:
streams:
- name: source1
inputs:
- hdmi:
device: /dev/v4l/by-path/pci-0000:5e:00.0-video-index0
Параметры¶
| Параметр | Назначение |
|---|---|
device |
Обязательный путь HDMI-устройства V4L2; предпочтителен устойчивый /dev/v4l/by-path/… |
standard |
Необязательный стандарт сигнала; без него формат определяется по входу |
pixel_format |
8 бит по умолчанию, v210 — 10 бит. Для HDMI RGB принимается согласованный драйвером ARGB |
audio |
Список звуковых дорожек; без списка — одна стереодорожка PCM из первой пары каналов |
audio[].channels |
Номера входных аудиоканалов с единицы; порядок определяет раскладку каналов дорожки |
audio[].sample_type |
pcm по умолчанию; smpte337 разбирает сжатый звук AC-3/E-AC-3 из пары каналов |
audio[].lang |
Необязательный язык дорожки |
peer_timeout_ms |
Таймаут отсутствия кадров в миллисекундах; по умолчанию 30 000 |
Вход задаётся отдельной секцией hdmi. Поля SDI ad_marks и timecode здесь недоступны: HDMI не передаёт VANC SCTE-104 и таймкод ATC.
Пример явно заданной стереодорожки PCM; номер дорожки определяется её позицией в списке audio, начиная с единицы:
hdmi:
device: /dev/v4l/by-path/pci-0000:5e:00.0-video-index0
audio:
- channels: [1, 2]
sample_type: pcm
lang: eng
Варианты транспорта¶
Для захвата нужен драйвер HDMI-карты с интерфейсом V4L2 и доступ процесса Sapsan к устройству. При открытии проверяется, что выбранный узел объявлен драйвером как HDMI; SDI-узел отклоняется. Используйте устойчивый путь /dev/v4l/by-path/….
Поддерживаемые кодеки¶
- UYVY 4:2:2 (8-bit)
- v210 4:2:2 (10-bit)
- ARGB (HDMI RGB)
- PCM
- AC-3 (SMPTE ST 337)
- E-AC-3 (SMPTE ST 337)
UYVY, v210 и ARGB — форматы несжатых пикселей, а PCM — несжатый звук; это не видеокодеки H.264/HEVC. Для сжатого выхода настройте транскодирование. AC-3/E-AC-3 извлекаются из звуковой пары только при sample_type: smpte337; SMPTE ST 337 описывает упаковку, а не отдельный аудиокодек.
Поведение при ошибках¶
Состояние входа и причина отказа доступны в статистике стрима. При обрыве или отсутствии кадров действует общий механизм повторных подключений и переключения на резерв.
Применение изменений¶
Изменения передаются через API central. При изменении адреса источника или формата захват открывается заново; это может прервать приём на время подключения. После применения проверьте состояние входа и поступление кадров.
Счётчики¶
Ниже — точные имена полей протокольной статистики. counter накапливает события, gauge показывает текущее значение; список включает оба вида. Нулевые поля могут отсутствовать в ответе. API и Prometheus используют разные проекции: весь список не следует ожидать в одном ответе Admin API. Доступ к детализации зависит от лицензии на счётчики.
Общие показатели входа: bytes, frames, errors, warnings. Они суммируют данные протокола, поэтому складывать их с протокольными счётчиками повторно не нужно.
В статистике вход имеет категорию hdmi. Набор аппаратных счётчиков общий с SDI, но обработка VANC и ATC отключена: соответствующие счётчики не отражают активность HDMI.
HDMI¶
| Поле | Тип |
|---|---|
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 |
Прочее¶
Несжатые кадры нагружают PCIe и память независимо от битрейта кодированного выхода. При расчёте числа входов учитывайте реальные возможности шины и выбранные разрешение и частоту.