Setup of DVB compatible Streams
This article will show how to properly setup a new DVB compatible Stream.
Setup of basic Stream Settings
At first, DVB Streams are created like any other Stream in PLAYDECK, by going into the Settings and entering the appropriate Stream Info. In this case we use a local UDP URL for Testing, a High Framerate of 60 FPS, a medium Video Bitrate of 6 MBit/s, the standardized MPEG-2 Video Codec, a High Quality Audio with AAC Codec and 96 KHz Sample Rate and 320 KBit/s Bitrate:

There are 2 types of DVB Streaming:
- Regular DVB Streaming via UDP (udp://…)
- SRT DVB Streaming via SRT (srt://…)

Additional DVB Settings
DVB Streams rarely work out-of-the-box like other Stream Formats (e.g. RTMP), because the need specific additional Settings, which we walk-thru now. You can also use this official DVB Spec PDF as Reference.
PCR
PCR stands for “Program Clock Reference”, which is send by our DVB encoder. It’s kinda a “heartbeat” for the DVB Stream. If your network connection between PLAYDECK and DVB receiver is not reliable and stable, you will easily get PCR errors on your receiver. The PING from PLAYDECK to DVB receiver should never be higher than 20ms, even in peak times (e.g. other traffic).
MUXRATE
You should always set the Muxrate with this Formula:
MUXRATE = (VIDEO BITRATE + AUDIO BITRATE) * 1.25
So in our Sample above with have (rounded): 8 Mbit/s. We set the MUXRATE to PLAYDECK via the OPTIONS field of our Video Codec:

As a result, the resulting Bitstream will be of the MUXRATE value and non-video and non-audio parts are filled with null-packets.
CLOSED CAPTIONS + SCTE-35
Both dont need to be activated specifically, as they are automatically enabled by PLAYDECK.
INFORMATION TAGS
There are several informative fields, which are unique to DVB:
- service_name (any text value)
- service_provider (any text value)
- service_id (any number – default is 1)
- service_type (possible values: digital_tv, mpeg2_digital_hdtv, advanced_codec_digital_sdtv, advanced_codec_digital_hdtv, hevc_digital_hdtv – default is digital_tv)
- transport_stream_id (any number – default is 1)
- original_network_id (any number – default is 1)
- pmt_start_pid (numbers between 16 to 7936 – default is 129)
- start_pid (numbers between 256 to 3840 – default is 1024)
- pes_payload_size (any number – default is 2930 bytes)
- mpegts_flags (possible values: resend_headers, pat_pmt_at_frames, latm)
- start_timecode (possible values: auto, disabled, local_time OR custom text like “10:00:00:00” – default is auto)
- tables_version (any number – default is 0)
These values are also entered into the OPTIONS field of our Video Codec. You simply use a SPACE between options. Add as many options as you like/need:
