Skip to content

Decklink SDI

Flussonic Media Server работает с платами Blackmagic: Decklink SDI или Decklink HDMI, а также Decklink Quad 2, у которых 8 портов.

Вы сможете:

Содержание:

Также полезно:

Установка драйвера для платы захвата

  • Вы можете скачать драйвера с официального сайта Blackmagic (версия 11.5.1 доступна по ссылке)

  • Установите пакет:

cd Blackmagic_Desktop_Video_Linux_11.5.1/deb/x86_64
dpkg -i desktopvideo_11.5a33_amd64.deb

Если у вас установлена другая версия, вы можете удалить ее командой:

dpkg -r desktopvideo

После установки драйвера Blackmagic и обновления прошивки, настройте поток таким образом:

stream sdi {
  url decklink://0;
}

Flussonic Media Server подключится к указанному первому устройcтву (0) и запустит на нем автоконфигурацию для поиска активного разрешения.

Некоторые модели Decklink не поддерживают автоматический поиск активного разрешения и для них необходимо указывать режим вручную с помощью опций mode и vinput. Например, для Intensity Pro с подключенным к нему по HDMI источником 720p и 50 fps поток нужно настроить так:

stream sdi {
  url decklink://0 mode=hp50 vinput=3;
}

Параметры в url decklink://:

  • mode - режим входящего потока
  • vinput - видео интерфейс:

    1 - Composite

    2 - Component

    3 - HDMI

    4 - SDI

    5 - Optical SDI

    6 - SVideo

  • ainput - аудио интерфейс:

    0 - Analog

    1 - Embedded

    2 - AESEBU

  • vpts - режим синхронизации для видео:

    2 - по аудио

    3 - по эталонному сигналу

  • apts - режим синхронизации для аудио:

    1 - по видео

    3 - по эталонному сигналу

  • sar - SAR входного потока. Имеет смысл указать SAR для анаморфного видео с соотношением сторон не равным 1:1. Пример: sar=16:11

Транскодирование видео с плат SDI

Если необходимо транскодировать захваченный поток из Decklink SDI, добавьте директиву transcoder в настройки потока:

stream sdi {
  url decklink://0;
  transcoder vb=3096k ab=64k;
}

Note

Параметр транскодирования external=false теперь используется по умолчанию для SDI, HDMI и других "сырых" видеопотоков, предотвращая чрезмерную нагрузку на сервер, возникающую при external=true. При транскодировании нескольких потоков на Nvidia NVENC убедитесь, что в опции выставлено одинаковое значение на всех потоках.

Параметры транскодирования больше не указываются отдельно для источника url decklink://, так как теперь Flussonic умеет получать видео из SDI в виде сырых кадров. Ранее необходимо было сразу транскодировать SDI-поток опцией enc= в настройках захвата, потому что Flussonic не мог работать с ним в виде некодированного видео.

Что это даёт:

  • Повышение качества видео. Мы избегаем двойного транскодирования в потоках с несколькими источниками и транскодированием, поскольку все источники потока транскодируются теперь один раз согласно параметрам, указанным в transcoder.

    stream sdi { url decklink://0; url fake://fake; transcoder vb=3096k ab=64k; }

  • Экономия ресурсов (по той же причине).

  • "Бесшовное" переключение между SDI и другими источниками потока.

  • Удобство настройки SDI источника через UI — теперь не нужно указывать опции транскодера отдельно для SDI источника, нет необходимости редактировать файл flussonic.conf и затем применять конфигурацию.

  • Это позволит использовать аппаратные транскодеры для кодирования видео, полученного из Decklink SDI (в будущих версиях Flussonic).

Caution

Если вы не укажете настройки транскодирования в transcoder, то поток не будет работать.

Устранение чересстрочности в прогрессивных потоках

Flussonic может устранять чересстрочность в прогрессивных потоках для улучшения качества видео. Для этого следует использовать метод деинтерлейсинга CUDA yadif:

stream test {
  url decklink://1 vinput=4;
  transcoder vb=4000k hw=nvenc preset=slow fps=50 deinterlace=yadif ab=128k;
}

Захват SD видео с плат SDI (20.09)

Flussonic поддерживает видео с неквадратными пикселями (анаморфное видео) при захвате с SDI карт. Зачастую это видео SD (standard definition) качества.

Например, при захвате каналов в формате PAL, в выходном потоке может появиться искажение пропорций изображения если соотношение сторон пикселя не 1:1. Подавляющее большинство устройств ожидает, что соотношение сторон пикселя 1:1.

Чтобы Flussonic сохранил пропорции в выходном видео без искажения картинки, следует указать sar входящего потока:

stream test {
  url decklink://1 vinput=4 sar=16:11; 
}

Flussonic исходя из sar вычисляет разрешение выходного видео. В примере с sar=16:11 входящее анаморфное видео 720x576 пройдет внутри Flussonic с разрешением 1048x576.

Эта настройка работает при захвате с плат Decklink и StreamLabs.

Flussonic Media Server может не только захватывать, но и передавать видео на плату захвата и вывода Decklink SDI или HDMI.

Для вывода на Decklink укажите параметр push decklink://:

stream test {
  url udp://239.0.0.1:1234;
  push decklink://0 size=720x576 fps=50 deinterlace=true;
}

Flussonic передает раскодированный поток на указанный номер устройства или порт на самой карте (например, 0). При необходимости можно указать опцию deinterlace=true для устранения чересстрочности. Максимальный уровень громкости (volume) — 1.0.

Дуплексный режим работы

Чтобы указать для карты Decklink SDI режим работы Duplex, позволяющий выбрать направление input или output, используйте следующую конфигурацию в глобальных настройках Decklink.

Flussonic 20.11 и новее:

decklink 0 {
  profile two_half;
}

decklink 1 {
  profile two_half;
}

Flussonic 20.10 и старее:

decklink {
  card 0 profile=two_half;
  card 1 profile=two_half;
}

В зависимости от модели Decklink карты, поддерживаются следующие режимы:

  • one_full - bmdProfileOneSubDeviceFullDuplex
  • one_half - bmdProfileOneSubDeviceHalfDuplex
  • two_full - bmdProfileTwoSubDevicesFullDuplex
  • two_half - bmdProfileTwoSubDevicesHalfDuplex
  • four_half - bmdProfileFourSubDevicesHalfDuplex