Setup of Output Streams
This article will show how to setup your Output Streams for different purposes.
In this article:
→ Introduction
→ Using Parameter and Config String
→ Config Samples
→ Multiple Audio Tracks
→ Closed Captions and SCTE
→ Troubleshooting
1. Introduction
You are able to setup 15 different Stream Configurations for any Source, being Channel, Inputs and Director View. As a default, your Video Format is copied from the Source, once the Stream starts, but you can transcode into any Resolution.
Once you pick your Protocol, the other Fields for Video/Audio Codec and URL will change according to your selection, meaning: Not every Video/Audio Codec will be available for every Stream Protocol.
INFO: NVIDIA Encoder do NOT support Interlaced Formats anymore. Pick Intel QuickSync instead.
Your URL will show a suggestion of the required URL Format. Click on “URL Info” to show more examples, e.g. how to integrate Username/Password. The Preview URL will not be used by PLAYDECK, it’s just for your convenience to open the Internet Browser upon clicking “Preview”.
2. Using Parameter and Config
Further Parameter can be set to Protocol and Codecs, which are specific for your selection. These can be used to finetune your Settings, e.g. make your Stream CBR or add Metadata.
Clicking on “Parameter” will open a Editor, which will only show the possible Settings for your selection. It will highlight any Value that differs from the Default Value.
The “Config String” is a representation of all your Protocol/Codec selection as well as their respective Parameter. The Config String works both ways: You can also copy/paste a Config String into the Text Field, then click “Update from String” to apply the Values upwards. This allows you to simply copy Settings between Stream ID’s or share with other User.
3. Config Samples
Here is a quick selection of recommended Configurations for different purposes. Copy and Paste to PLAYDECK and click “Update from String”.
DVB Stream with CBR and GOP B-frames. No PCR or PTS-DTS or Buffer underrun Error
format='dvb' protocol='udp://' mpegts_start_pid='60' video::streamid='80' video::disable_sps_pps='true' video::codec='n264' video::profile='high' video::level='4.1' video::rc_type='cbr' muxrate='10M' video::b='7.5M' video::bufsize='1.25M' video::g='32' video::bf='2' video::ref_frames='3' audio::streamid='81' audio::metadata::language='deu' audio::codec='mp2' audio::b='192k' pmt_start_pid='100' mpegts_flags='-system_b' rc_buffers='4' pcr_period='35' pat_period='0.1' sdt_period='0.5' tdt_period='10' start_pcr='0' service_name='TEST' service_provider='PD' service_id='1' original_network_id='1' transport_stream_id='201' service_type='advanced_codec_digital_hdtv'
Or in Short Form:
format='dvb' protocol='udp://' video::disable_sps_pps='true' video::codec='n264' video::profile='high' video::level='4.1' video::rc_type='cbr' muxrate='10M' video::b='7.5M' video::bufsize='1.25M' video::g='32' video::bf='2' video::ref_frames='3' audio::metadata::language='deu' audio::codec='mp2' audio::b='192k' service_type='advanced_codec_digital_hdtv'
INFO: Every DVB Receiver is different und you might need different Parameters. Some Receiver will not allow ANY deviancy from official guidelines, and will show BLACK. The most reliable solution to encode DVB signals are Hardware Encoder, e.g. Haivision.
Best practice to test DVB Streams for PCR Error or other, is using one of these Tools:
– DVBControl DVBAnalyzer (costs ~2000 EUR, but is most reliable and detects PTS-DTS Error)
– StreamGURU (costs ~300 EUR, can detect any ETR Error and shows Bitrate Graphic)
– TSAnalyzer (free, but can ingest Stream URL, needs TS File on HD)
– Others worth mentioning: DVBInspector, Elecard Stream Analyzer, StreamXpert

Stream to Twitch (or similar Streaming Website) in CBR
format='flv' protocol='rtmp://' merge_tracks='true' video::codec='n264' video::b='6M' video::rc_type='cbr' video::bf='2' video::preset='low_latency' video::profile='High' video::maxrate='6M' video::bufsize='2M' video::maxnumrefframes='4' audio::codec='aac' audio::ar='44100' audio::b='160K'
Best practice to test your Twitch Streams is to use Twitch Inspector. This will show you any Stream Error and if your Bitrate is stable. If you add “?bandwidthtest=true” to your Stream URL, your Twitch Stream will NOT go live.
rtmp://<hostname_or_ip>/<app_name>/<stream-key>?bandwidthtest=true
4. Multiple Audio Tracks
If you need to send multiple Audio Tracks, e.g. for different Languages or for Director Audio, you can do so with all supported Protocols (DVB, RTMP, UDP and some more). You can also apply different Audio Codecs.
The way this works is, that you have ALL Audio Tracks already active in your Channel, then SPLIT the Audio Tracks for your Stream Output in e.g. Stereo Pairs.
First, make sure your Channel is set to more then 2 Audio Channel:

Then “fill” these Audio Channel with Audio Content, e.g. by enabling All Audio Tracks on a Clip or ingesting all Tracks via SDI (up to 16 Audio Tracks). You can also use Audio Mapping to mix up/down your Audio Tracks or use Audio Filter to copy and delay certain Audio Tracks.

Then you open your Stream Settings, especially the Parameter of your Stream Protocol and enable Audio Track Splitting:

INFO: The Number of Audio Channel in your Stream Settings need to stay at 2.
If needed, you can apply different Audio Codecs for the addition Audio Tracks. Please note the added and increasing Numbers for every Audio Tracks after the first one:
audio::codec='aac' audio.1::codec='ac3' audio.2::codec='libmp3lame' audio.3::codec='mp2'
You can also apply a Language Descriptor for every Audio Track:
audio::metadata::language='eng' audio.1::metadata::language='ita' audio.2::metadata::language='fra' audio.3::metadata::language='ger'
INFO: Language Codes must comply to ISO 639-2
You can then test your resulting Audio Tracks in e.g. StreamGURU:

5. Closed Captions and SCTE
Both can be enabled in the Parameter Settings of your Protocol:

INFO: SCTE-35 is only available for Protocols: SRT, DVB, UDP (any Video Codec). Closed Caption will only work with Video Codecs: MPEG-2, H.264 (any Protocol)
This will require both to be enabled and available in your Channel already. Please refer to the following articles for more information on SCTE and/or Closed Captions:
→ Sending SCTE-35 to Stream Server
→ Closed Captions / Subtitles
6. Troubleshooting
If your Streams are lagging or even stopping completely, you are often in the dark what exactly happened. Here are some pointer to help you identify the problem.
1. Monitoring
Open the Monitor Window in PLAYDECK or open the Stream Logs.
FPS 50/60 (FPS Average/Desired)
Compares the current and average encoding frame rate against the desired level. A drop here indicates the system cannot keep up with real-time encoding.
Elapsed (Frame Waiting Time in Seconds)
Shows Time elapsed after the last Frame has been processed. If this value increases, not frames can be processed due to missing Source, or false settings or no connection.
Skipped (Dropped Frames)
The most critical indicator of performance bottlenecks. If this value increases, the encoder is intentionally dropping frames because it cannot process them fast enough.
Breaks (Frames lost)
The most critical indicator of performance bottlenecks. If this value increases, the encoder is intentionally dropping frames because it cannot process them fast enough.
Buffer (Frames waiting)
Monitors the number of frames waiting in the internal queue. A constantly growing buffer typically precedes skipped frames or Breaks. High Skipped, Low Breaks: This usually means your CPU/GPU encoder is too slow. High Breaks, Low/Zero Skipped: This usually means the network or source is the bottleneck. The writer is ready to encode but the frames aren’t arriving or being “pulled” at the correct time intervals due to the connection lag.
2. Network/Bandwidth Problems
Turn of all your Streams, open your Windows Console (“cmd” in Start Menu) and type
tracert <hostname_or_ip>
Use your Target URLs Hostname or IP Address. If you see any Values >100 ms, this will indicate a slow connection to your Stream Target.
Also keep in mind, that while today Download Speeds with Fibre, Cable or DSL or mostly high speed (>100 Mbps), the Upload Speed could be very much slower than that. Use a Tool like Speedtest to determine your actual Upload Speed.
Also use Bandwidth Profiler on the Stream Server to check, if your desired Bitrate is also received on the Server. Most Provider or Software will provide with Tools to measure the received Bitrate. Ideally it is shown as Graph, which can point out any Gaps during the Transmission, e.g. Twitch Inspector.
Also check, if your Provider provides any local Ingest URLs, e.g. Twitch Ingest Endpoints.