Skip to content

SDI Decoder

The SDI decoder module is designed to send video to the SDI path, received from any other source: SDI, NDI, ST2110, compressed video from DVB or internet.

Simple Configuration

Configuration can be quite simple:

stream test {
  input udp://239.0.0.1:1234;
  push dektec://2174220025:2 video_format=pal;
}

The Dektec card identifier is obtained in the same way as for the SDI coder module.

Embedded Audio in Television

The module supports embedding radio into television:

stream Decoder_Rossia24 {
  input mixer://Fed_asi_board1_port4_PLP1_T2MI_MUX1_1070,Fed_asi_board1_port3_PLP0_T2MI_MUX1_1120,Fed_asi_board1_port3_PLP0_T2MI_MUX1_1110 mixer_strategy=all sync=dts;
  meta comment "Decoding Rossiya-24+Mayak+VestiFM for GTRK";
  push {
    url dektec://2174223190:2;
    push_audio_tracks {
      channels 1,2;
      sample_type pcm;
      track a1;
    }
    push_audio_tracks {
      channels 3,4;
      sample_type pcm;
      track a2;
    }
    push_audio_tracks {
      channels 5,6;
      sample_type pcm;
      track a3;
    }
    video_format pal;
  }
}

Supported Input Sources

The SDI decoder module can receive video from the following sources:

  • SDI streams
  • NDI streams
  • ST2110 streams
  • Compressed video from DVB
  • Internet streams

Audio Configuration

When configuring audio embedding, you can specify:

  • Number of channels for each track
  • Sample type (PCM)
  • Track number
  • Video format (PAL, NTSC, etc.)

Hardware Identification

To work with Dektec cards, you need to specify their identifier in the format:

dektec://[ID]:[PORT]

Where: * ID - unique card identifier * PORT - output port number

Mcaster can not only capture but also output streams to Decklink SDI or HDMI capture cards.

For output to Decklink, specify the push decklink:// parameter:

stream test {
  input udp://239.0.0.1:1234;
  push decklink://0;
}

Mcaster decodes and then transmits the stream to the specified device number or port on the card (e.g., 0). If necessary, you can specify the deinterlace=true option to eliminate interlacing.

Usually, a Decklink card supports a limited set of modes. Each mode is a combination of frame size and frame rate, encoded in Decklink format. For example, 1080i50 means frame size 1920x1080 and frame rate 50000/1000 FPS. When sending a stream to a Decklink card, you can set the mode value in the format parameter:

stream test {
  input udp://239.0.0.1:1234;
  push decklink://0 format=1080i50;
}

Possible Decklink operating modes are described in the API documentation.

To specify Duplex mode for a DeckLink SDI card, allowing you to choose input and output direction, use the following configuration in global DeckLink settings:

decklink {
  duplex_mode two_half;
}

The example above shows semi-duplex mode configuration for a DeckLink Duo 2 card.

DeckLink Quad 2 and DeckLink Duo 2 cards have non-standard numbering when mapping physical and logical ports, which affects duplex mode configuration.

To configure a DeckLink Quad 2 card so that all ports are used either as input or output, the card should operate in two_half mode:

decklink {
  duplex_mode two_half;
}

VBI Teletext Output (Important for Legacy SD Systems)

VBI teletext output is a critically important feature for legacy SD broadcasting systems that still transmit analog teletext. Mcaster can pass teletext from MPEG-TS to analog streams in SD quality that are broadcast via Decklink or DekTec SDI cards. Teletext is added to VBI (vertical blanking interval) of an output stream.

Prerequisites

  • An input MPEG-TS stream containing Teletext B
  • An output stream containing SD video that Mcaster will transmit to a Decklink or DekTec SDI card

VBI Teletext Configuration

To pass a teletext track to SDI, specify numbers of the lines where the teletext in the output stream will be packed:

stream out {
  input file://vod/mpegts.ts;
  push decklink://1 format=pal vbi_lines=ttxt:7:8:9:319:320:321;
}

In the example, the vbi_lines option specifies six figures separated by colons — these are numbers of VBI lines that will carry a teletext track. The first three are VBI lines passed in the first half-frame and the next three figures are lines in the second half-frame.

Important Notes

  • If the teletext in your stream does not fit into the specified lines, it will not appear in the output stream
  • In this case, specify more lines in vbi_lines
  • This feature is essential for integration with legacy SD broadcasting systems that continue to use analog teletext
  • VBI teletext is particularly important for maintaining compatibility with older television equipment

Note

This functionality is especially critical for legacy SD broadcasting systems that still transmit analog teletext and require VBI integration for proper operation.