Skip to content

Выдача SDI

media.push.sdi

Назначение

Функция media.push.sdi выдаёт видео и встроенный звук стрима в физический выход SDI-карты. Она настраивается отдельно от приёма SDI. Для выдачи требуется выходной порт карты.

Требования к стриму

Для выдачи нужна несжатая видеодорожка v210 или uyvy422. SDI push упаковывает готовые кадры: декодирование и изменение размера выполняет транскодер. Для стрима только с кодированным видео добавьте сырую видеодорожку правилом !set v210 или !set uyvy422. Вход SDI с подходящим форматом можно направить на другой SDI-порт без транскодирования.

Стандарт видеодорожки должен соответствовать режиму выходного порта. Для новой карты отдельно проверьте выдачу видео и звука под рабочей нагрузкой.

Настройка

Передайте конфигурацию через API central. Пример стрима с приёмом и выдачей на разные порты:

streams:
  - name: tv1
    inputs:
      - sdi:
          device: /dev/v4l/by-path/pci-0000:5e:00.0-video-index0
          pixel_format: v210
    pushes:
      sdi-out:
        sdi:
          device: /dev/v4l/by-path/pci-0000:5e:00.0-video-index1
          queue: 4
          audio:
            - track: 1
              channels: [1, 2]

Пути устройств в примере замените путями входа и выхода своей карты. Поле standard необязательно: без него стандарт определяется по видеодорожке. Если поле задано, несовпадение с дорожкой приводит к ошибке push. Стандарт ntsc на выходе не поддерживается.

pixel_format указывается у входа; на выходе формат определяется видеодорожкой. queue задаёт очередь выходного устройства от 2 до 8 кадров, по умолчанию 4. В списке audio поле track — номер звуковой дорожки стрима, с единицы, а channels — пара SDI-аудиоканалов назначения. Без явной раскладки дорожки занимают пары по порядку, не более восьми пар.

Работа при пропаже источника

После открытия линии при временном отсутствии кадров push выдаёт чёрное поле с тишиной. Кадры заполнения учитываются отдельно от кадров стрима. Для первого открытия требуется описание стрима с несжатой видеодорожкой. Занятое устройство и несовпадение стандарта переводят push в состояние Error; причину содержит last_error.

12G-SDI ingest — отдельное расширение приёма; его наличие не подтверждает возможность выдачи 12G на выбранной карте. ASI передаёт MPEG-TS и документируется отдельно; выдача ASI относится к функции media.push.asi.

Транспорт

Физический SDI-выход карты; видео и встроенный звук передаются по одной линии.

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

  • v210
  • uyvy422
  • PCM (16-bit)
  • S32P
  • FLTP

Видео должно поступать несжатым в формате v210 или uyvy422. Для встроенного звука поддерживаются PCM 16 бит, S32P и FLTP; сжатые дорожки H.264/HEVC/AAC сами по себе в SDI не декодируются — заранее подготовьте нужные сырые дорожки.