Flussonic Media Server Documentation


Decklink SDI

Flussonic Media Server works with Decklink SDI or HDMI cards, and also with Blackmagic Decklink Quad 2 cards, which have 8 ports.

You can:

  • Capture video directly from Blackmagic Decklink SDI or Decklink HDMI capture cards
  • Pass video to a Decklink SDI or HDMI capture card
  • Read VBI teletext and ad insertion markers from the stream received from Decklink cards.

    Ad insertion markers are then converted from VBI SCTE-104 to SCTE-35 format suitable for sending to MPEG-TS and HLS. No settings needed.

On this page:

See also:

Blackmagic driver installation

  • Download the Desktop Video software installation files from the official site (version 11.5.1 could be found here)

  • You will get the file Blackmagic_Desktop_Video_Linux_11.5.1.tar

Unzip it:

tar -xvf Blackmagic_Desktop_Video_Linux_11.5.1.tar
  • Go to the directory corresponding on the needed package and architecture:
cd Blackmagic_Desktop_Video_Linux_11.5.1/deb/x86_64
  • Install the package:
dpkg -i desktopvideo_11.5.1a14_amd64.deb

Capturing video from Decklink SDI or HDMI cards

Check that installation was successfull.

BlackmagicFirmwareUpdater status

You should see the list of capture devices available in your system.

After you installed Blackmagic drivers, update the card, and configure new stream as follows:

stream sdi {
  url decklink://0;

Flussonic Media Server will take the first device (0) and use its autoconfiguration feature to capture video (the search for active resolution).

Some Decklink models do not support automatic search for active resolution, and for those models you'll need to specify it manually by using the options mode and vinput. For example, if you have Intensity Pro with connected HDMI source of 720p at 50 fps, you should configure the stream as follows:

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

Parameters in url decklink://:

  • mode - the mode of the incoming stream
  • vinput - video interface
    • 1 - Composite
    • 2 - Component
    • 3 - HDMI
    • 4 - SDI
    • 5 - Optical SDI
    • 6 - SVideo
  • ainput - audio interface
    • 0 - Analog
    • 1 - Embedded
    • 2 - AESEBU
  • external - starts capturing in an external process
    • true
    • false - default
  • vpts - the synchronization mode for video
    • 2 - by audio
    • 3 - according to the reference signal
  • apts - the synchronization mode for audio
    • 1 - by video
    • 3 - according to the reference signal
  • duplex - use when capturing from Blackmagic Decklink Quad 2 to specify the number of active ports on the card
    • full - the card uses 4 ports
    • half - the card uses 8 ports
  • sar - the SAR of the input stream. It makes sense to specify SAR for anamorphic video where pixel aspect ratio is not 1:1. Example: sar=16:11

Capturing from Decklink Quad 2

If you use Blackmagic Decklink Quad 2 cards, use the duplex=full|half option to to tell Flussonic whether your card uses 4 or 8 SDI ports.

Set full if the card uses 4 ports, and set half if the card uses all 8 ports. Set this option for devices 0, 1, 2, 3.

The following configuration allows Flussonic to use 8 ports at capturing:

stream test {
  url decklink://0 duplex=half;

Important. Make sure that all the streams that are captured via Decklink Quad 2 have the duplex option specified.

Deinterlacing of progressive streams

Flussonic can deinterlace progressive streams to eliminate artifacts. For that, use the CUDA yadif deinterlace method:

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

Transcoding video from Decklink

If you want to transcode a stream coming from a Decklink card, add the transcoder directive for the stream:

stream sdi {
  url decklink://0 mode=hp50 external=true;
  transcoder vb=3096k ab=64k;

Transcoding options must no longer be set separately for the url decklink:// source using the option enc=. Flussonic can now process the video from SDI as raw frames. Previously, it was necessary to immediately transcode an SDI stream using the option enc= in the SDI ingest settings, because Flussonic could not work with such a stream as unencoded video.

The benefits:

  • Higher video quality. We avoid double transcoding in streams with multiple sources and transcoder settings, since all stream sources are now transcoded only once according to the parameters specified in transcoder.

    stream sdi {
      url decklink://0 mode=hp50 external=true;
      url fake://fake;
      transcoder vb=3096k ab=64k;
  • Saving resources (for the same reason).

  • "Seamless" switching between SDI and other stream sources.

  • Ease of configuring SDI sources through the UI - now you do not need to specify the transcoder options separately for the SDI ingest, and there is no need to edit the flussonic.conf file and then apply the configuration.

  • Using hardware transcoders for encoding video from Decklink SDI (coming in future Flussonic versions).

Important! If you do not specify the settings in transcoder, then the SDI stream will not work.

Ingesting SD video from SDI cards (20.09)

Flussonic has the support for video with non-square pixels (anamorphic video) when ingesting streams from SDI cards. Often it is video in SD (standard definition) quality.

For example, for ingested PAL channels, the output stream might have distortion if the pixel aspect ratio is not 1:1. The majority of devices expect that the pixel aspect ratio is 1:1.

To make Flussonic keep the proportions of the picture, without distortion, in the outcoming video, specify the sar of the input stream:

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


Flussonic calculates the resolution of the output video. In the example with sar=16:11, incoming anamorphic video 720x576 will go through Flussonic with 1048x576 resolution.

This setting works when capturing from both Decklink and StreamLabs cards.

Output to Decklink SDI or Decklink HDMI cards

Flussonic Media Server not only captures but also passes video to a Decklink SDI or HDMI card.

Set the parameter push decklink://:

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

Flussonic decodes a stream and passes it to the specified Decklink device or slot on the card itself (for example, 0). If necessary, you can use deinterlace=true to eliminate interlacing. The maximum volume (volume) is 1.0.

Decklink global configuration

To configure Decklink duplex mode that allows to select input/output direction of SDI card, use the following configuration:

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

According to the model, it's supported the following modes:

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