Use any Device that is capable of Internal Keying. In our example we use the Blackmagic DeckLink Duo2. Open the Desktop Video Setup and combine and first 2 SDI Outputs. Leave the other Outputs solo:
Next we enable Internal Keying in Channel 1 in PLAYDECK:
2. Setup of BG FEED
Now we need to send our BG FEED to SDI 1. For this we use Channel 2 and send it via SDI Loop from SDI 3 to SDI 1. Please note, that because we combined SDI 1+2, SDI 3 is now designated as “Decklink Duo 2 (2)”:
Then we start any video content on Channel 2:
If you have a SDI Monitor on SDI 2, you can already see the BG FEED playing there now.
We could now go ahead and play any Content with Alpha on Channel 1, which is keyed over the BG FEED, e.g. Alpha Videos (ProRes, HAP-A) or simple Overlays. But since we need our PIP FEEDBACK scaled and positioned, we need to set it up on another Channel.
3. Setup of PIP FEED
We use Channel 3 as PIP FEEDBACK, so we can play regular Video Content here. We want to send it via NDI from Channel 3 to Channel 1 and activate the Output Scaler, so that our PIP is in the UPPER RIGHT Corner:
We now insert a Video Clip on Channel 3, but this could also be Live Video, Streams or anything else:
We loop this NDI Feedback to Input 1:
Then insert Input 1 into the Playlist of Channel 1:
We now downscaled the Channel 3 Playlist into Channel 1, which will be keyed over the BG FEED of Channel 2.
4. FINAL OUTPUT / MAIN FEED
The MAIN FEED is send to SDI 2 and this is the result on the SDI Monitor of SDI 2 (photographed):
You have some spare Channel in PLAYDECK? Use them to prepare and test new Contents, then copy them to your Main Feed Channel. You can DRAG DROP Blocks from Channel to Channel, or copy them with pressing CTRL after starting DRAG DROP.
You can also copy, overwrite or append whole Playlists, by right-clicking the CHANNEL NUMBER:
If you paste new Content on an existing Playlist (or Import XML), you get the option to overwrite or append:
Use Playlist Trial Edition
You can install PLAYDECK on any other machine and edit your Playlists there. Except the Watermark of the Trial Edition, there are no other restrictions, so you can prepare Playlists and send them to your Main System.
Append Playlist during Broadcast
You want to import new Playlists and don’t want to interrupt your Broadcast? No problem: Use the APPEND PROJECT Option in the FILE MENU:
This will load any PLAYDECK Project, but instead of replacing the Playlists, all Playlists will be extended by the Clips found in the Project. You can then safely remove any old Content.
You can apply this procedure to individual Playlists by Exporting a Playlist to XML and Importing that XML on the other Machine. This is done by right-clicking the CHANNEL NUMBER:
This workflow is perfect for any day-to-day schedule, where you add new days and remove old ones.
Automatically Detect and Reload new Playlist
You can also OVERWRITE the current load Project File on your Main System and let PLAYDECK detect this and reload the Project, after which the Playout will resume. Enable this functionality in the Application Settings:
Note: RESUME PLAYOUT only works, if the current Playing Clip exists in the newly re-loaded Project, otherwise Playout stops for that Channel. The Clip is identified by a UNIQUE ID, so it could have moved to another Block in the re-loaded Project.
This workflow is best suited for any automated systems, where Project Files are generated automatically and uploaded to the Main System. Or when the Content Editor does not have access to the Main System and uploads the new Playlist to the NAS/Cloud Storage.
Interface with 3rd party Apps
We don’t support the Playlist Format of other 3rd party Apps, as there is just too much diversity on the market, and a lot Playlist Function (Mixing, Overlaps, Schedules) would not be compatible with PLAYDECK.
If you like to prepare your Playlist in a 3rd Party App, you need to export your Playlist to CSV, then Edit that CSV to work with PLAYDECK, then Import that CSV into PLAYDECK.
Why CSV? Because it is the most easy List Format, which support multiple values per Item. It can be edited with any Text or Table Editor, from Notepad to Excel.
Let’s have a look at our CSV. For this we build ourself a Sample Playlists with 2 Blocks. We mixed in different Content Types: Video Clips with IN/OUT Points, Device Inputs, YouTube Videos, UDP Input Stream, GFX with Runtime, a Note. We also added a Schedule to the 2nd Block:
We now right-click the CHANNEL NUMBER 2 and select EXPORT TO CSV:
As you can see, its not “too” much Text Lines. Since the first Lines are just HEADER, it looks even more clear in a Table Editor:
And this is how you write/generate CSV Files: You export your Content in any 3rd party app, open any editor and bring it in PLAYDECK FORMAT. But WHAT IS PLAYDECK FORMAT.
These are the REQUIRED COLUMNS. They can be it ANY POSITION (any column #): Type = Block, File, Website (or YouTube), Input#, Stream, Note Caption = Any Text to display in PLAYDECK Filename = The Path/File or the URL (YouTube and Streams)
These are the OPTIONAL COLUMNS. They can be it ANY POSITION (any column #): Active = The Checkbox in the first Column in PLAYDECK Duration = Only used be File-Types that are Images. Leave empty or 0 for endless CutIn / CutOut = IN- and/or OUT-Point for Trimming Schedule = Only used by Block-Types
Note: More advanced Properties (e.g. Audio Gain) are not supported, as to keep our CSV Format clean and easy. To import/export ALL Properties, please use XML instead of CSV.
Note: PLAYDECK uses UTF-8 encoding for saving and loading CSV files.
For a general overview of best possible Video Codecs for Playout, please see this article.
While PLAYDECK is able to transcode all Clips in real time to your selected Output Format, this can put a heavy toll on your system during Playout, depending on your use case.
If your CPU usage reached critical level and you get playout lags (mostly perceived as audio stutter), you may want to make sure, that all Clips are decoded via the GPU, because most modern Graphic Cards can handle much more load than the CPU alone, thus making it possible to run multiple output channel with PLAYDECK.
PLAYDECK has an integrated transcoder for video/audio files. It will make it more easy for you to QUICKLY transcode multiple files at once, e.g. if your show starts soon and you just don’t have the time to transcode them via 3rd party tool like Adobe Media Encoder.
In your example we have a Block of Files, that only can be decoded via CPU, like ProRes, and HAP-A Video Codec. We now select any Clip, then press CTRL+A to select all Clips in the Block. You could also use SHIFT to select a Clip range or just CTRL to select individual Clips.
Now we right Clip one of the selected Clips and select “Transcode Clips”:
You will not get a list of pre-defined target video codecs, which all support GPU decoding:
If you are in a hurry or have a huge number of clips to transcode, pick the first option “MPEG-4”, as this options gives you incredibly fast results, while still maintaining a good quality. In all other cases go with the 2nd option “AV1”, as this produces fairly small files on SSD/HDD, while producing extreme high quality files, and also support HDR. The last option is unnervingly slow, but also takes quality and compression a tick higher, but the time/quality ratio is bad in this case. Use this for overnight-transcoding.
Note: Sadly, we can not offer transcoding in H.264 or H.265 because of license reasons.
The transcoder will save the new file next to the old file and add “_transcoded” to the filename:
The new Files will be automatically replaced and re-scanned in your Playlist:
If you need to at any time return to an earlier version of your Playlist, you can use the “Restore Project Backup” function:
What Files are being decoded on CPU in PLAYDECK
ProRes This high quality video codec has it’s roots on MAC computers, as it also was developed by Apple. Sadly, Apple never released any codec information for Windows Systems, so it’s still fairly impossible to decode ProRes via the GPU. If you need the Alpha Channel, we recommend using HAP-A video codec.
HAP and variants like HAP-A These video codecs also support Alpha Channel and have very low CPU consumption.
DNxHD, MXF The codecs also cant be decoded via GPU in PLAYDECK.
This is fairly simple: You create a new Content Block in your Playlist with one difference: The Block ends as BREAK BLOCK (instead of STOP or PAUSE). For this we select the Block and click on the BLOCK END Icon (or Double-Click the Block end). Then we select BREAK BLOCK.
After Break you choose where Playout continues when the ads are done:
Return to last position
Return to clip from beginning
Continue with next clip
Interrupt current clip is on by default. PLAYDECK then hard-cuts into the Break at the scheduled time. Uncheck it and the current clip is allowed to finish first — the Break plays as next, it does not cut.
This BREAK BLOCK behaves like this: Once it reaches its end, it will return to the clip and position (or other), which was playing BEFORE entering the BREAK BLOCK from OUTSIDE. Meaning: You can jump from anywhere to anywhere in the BREAK BLOCK, and it will remember where to return to.
Schedule Break Block
You can schedule the Break Block like any other Block Type by selecting the Block and clicking the SCHEDULE Icon:
In this example we start our Break Interruption every day at 11:00 o’clock and will repeat this every 2 and half hours for the remaining of the day. There will be no Ad Breaks between 0:00 and 11:30.
A scheduled Ad Break will NEVER fire on its own: If nothing is playing, there is nothing to interrupt and return back to. Consequentially a scheduled Ad Break will NEVER fire within another Ad Break. This also presents opportunity: You can program repeating Ad Breaks with collisions on purpose and have the first one get priority and ignore the other one.
With Interrupt current clip enabled, the Break starts at the scheduled time. With it disabled, PLAYDECK waits for the current clip to end. Live or endless clips never reach a clip end, so a Break with Interrupt off will not start while they are playing. Stop, CUE, or playing a different clip cancels a waiting Break. Pause keeps it.
Using Action Buttons for Ad Breaks
Instead of scheduled Break Blocks, you can also use Action Buttons. For this simply click an empty Action Button and select to play the related Ad Block:
After Block the Action can use its own return method:
Do nothing — uses the Break Block End (After Break)
Return to last Clip/Position
Return to last Clip/Position (−3 Seconds)
Return to last Clip/Position (−10 Seconds)
Return to last Clip and play from beginning
Continue with next clip exists only on the Block End, not on the Action. If you select Do nothing, the Block End will be used, like in our example above. If you select any other Option, the Return method of the Action will be used over the Block End method. This gives new options:
You could use both return methods, depending if the Break Block starts via scheduling or via Action Button
If started via Action Button, you can leave the Break Block EARLY and still return
The second option is perfect for looping Break Blocks, as you return to the previous playout if you click the Action Button a second time.
Attach Overlays to the Break Block
Oftentimes you want Overlays to start automatically together with your Break Block Content. We therefore recommend the following articles:
If you want to signal your Streaming Server or Broadcasting System to insert Ads for the duration of your Break Block, we recommend the following article:
This article will show how to use how to utilize the second Channel to create L-Band advertisements.
1. L-Band Specifications
Every Station has their own specs on the size, so we just borrow this sample from News18:
The principal is always the same: We “shrink” our main content proportionally to make room for Ads in the remaining area. After shrinking, we leave some overlap to not risk black background. Our final shrink-size is: 1520×855 Pixel.
2. Scale Channel 1 and send to Channel 2
We assume with have our Main Video Content on Channel 1. So we enable the Output Scaler in the Settings to our shrunk size of 1520×855 Pixel. Then we send our scaled Content as NDI signal:
We now loop our NDI signal to Input 1:
We then add Input 1 to the Playlist of Channel 2, by Drag Drop of the Input Icon to the Playlist. We now have the Video Content in L-Band size:
3. Add the Clean Feed for Switching
Since our Final Output will run over Channel 2, we also want our Clean Feed to be selectable in the Channel 2 Playlist. For this, we can simply copy the Channel without the Output Scaler. Use another Input and set Channel 1 as Source:
Then also add that Input to Channel 2. I already renamed both Inputs in the Playlist to be more distinguishable:
You can now quickly switch between L-Bands and Clean Feed.
Click on any empty Overlay Button, then add our Sample PNG:
We now want our Overlay to ONLY play with the Playlist Clip for the “L-Band Feed” Input. For this we select the L-Band Clip and click the Overlay Icon, then add our new Overlay for the whole duration of the Clip:
Our L-Band Overlay will now automatically start together with the L-Band Feed:
Note: Overlays that are assigned to Clips always have a slight reaction delay. This can be overcome by finetuning Playlist and Overlay Fade Times. You could also split the L-Band Feed and Clean Feed to Channel 2 and 3 and use an external Mixer for Transitions.
Introducing a Reference Signal will force the Output Hardware to send Frames based on the Reference Clock.
1. Multichannel SYNC as a use case
If you plan to synchronize multiple channel, you should connect an external clock to your device, then CUE all Channel via LINK (or Commands) and UNPAUSE all Channel. This will start all Channel (almost) SYNC, while the Reference Clock will make sure, that all Channel STAY SYNC. This is only guaranteed for all Channel, that output over the same Device.
This article shows, how to use Action Buttons to start multiple Channel in SYNC.
2. Providing a Reference Signal (GenLock)
Please check with your manufacturer, if your Output Card supports a Reference Input. In this example we use “Blackmagic DeckLink Duo 2”:
If none of your other hardware generates a Clock Signal, you can use separate hardware to generate such a signal, like the Blackmagic Sync Generator.
3. Setting the Reference Input in PLAYDECK
Some Devices need specific reference input settings, like AJA Devices. In this Example, we set the AJA Reference Input to “external” for the Device:
If you click on SHOW HELP, you will see all other Options, that can be set for each device manufacturer.
Then click on “Copy Output URL” to have the target URL in your Clipboard.
In PLAYDECK, click on any empty Overlay Button, select “HTML” and paste the URL into the upper Online Template Field:
The Overlay is immediately ready for display. You can even live-update Logo and Text via the overlay.uno Overlay website:
2. Create Lower Third (with ClassX)
ClassX Liveboard is a professional CG Playout Solution for automating dynamic overlay contents. You can register for a Demo Version on their website.
After installation of LiveBoard, you can simply add Videos, GFX and other Contents via the user interface. There you also name the Contents with a unique identifier, e.g. “MyLowerThird” for later reference.
LiveBoard allows to connect via TCP and send Commands to show/hide certain Contents. A complete list of Commands is always found in their Window installation path: C:\Program Files\…\ClassX_Applications_v6\remotecontroltester\commands
Lets enable our TCP in PLAYDECK to talk to LiveBoard. The default Port of LiveBoard is 301. Enabling this will show CONNECTED, if the LiveBoard Server is running. Otherwise PLAYDECK will try to connect every 5 seconds, so you can start LiveBoard before or after PLAYDECK:
Lets create our own custom “lower third” composed of a background GFX and Text and group them together.
Click on an empty Overlay Button to open the Editor, then add some Background GFX. Close the Editor, right-click the Overlay Button and position your Background to the bottom area. We also right-click in the video preview and disable “Channel Name”:
We add another Text Overlay and use {blockname} as text placeholder for our title text. Then add another Text Overlay and use {clipname} as text placeholder. Then some positioning and it looks like this:
Now lets group then together: Right-click an empty Overlay Button and select “Create Overlay Group”. Then add our 3 previous Overlays and order them bottom-up:
4. Automate Overlay with Clips/Blocks
We now have a functioning Overlay Button for the Lower Third with dynamic Text Content. Now let’s attach this Overlay to a specific Clip. Select the related Clip and click on the Overlays Icon, then add our Overlay to that Clip, starting 5 Seconds into the Clip and showing for 10 Seconds:
To attach an Overlay to a Block, you can use Commands:
You can copy the Overlay Attachments by right-clicking the Clip/Block and selecting “Copy/Paste Settings”. This will help immensely to duplicate attachments across the playlist.
To automate external Overlays, e.g. ClassX, you would also use Commands on Clips or Blocks, but write your Commands in the “External via TCP” Section:
You can also show/hide Overlays via Actions Buttons via internal or external Commands.
5. Schedule Overlay
In addition to attaching overlays to playlist items, you can also schedule them to run at a specific time and for a specific duration, by right-clicking the overlay:
6. Remote Control
You already learned about Commands in 4. Automate Overlay with Clips/Blocks. You can call these commands from anywhere and start your overlays via your Stream Deck or any other Remote Control Software.
You can use one Channel of PLAYDECK just for the Overlays and send them to your Mixer via External Keying, which is supported for Device Output as well as NDI Output: https://playdeck.tv/howto/keying/
For High Quality and Lag-free network operation, we recommend using High-end network hardware (router, switch) as well as high speed ethernet cables (Cat6+).
PLAYDECK allows to assign a network configuration file, which will be loaded upon PLAYDECK start.
Structure of Configuration File (JSON)
{
"protocol":"2110",
"network2110":
{ // this part configures the parameters of the device itself, the connectors (SFP) with IP configurations
"ptpPreferredGMID":"00-00-00-00-00-00-00-00",
"ptpDomain":0,
"setup4k":"false",
"multiSDP":"false",
"audioCombine":"false",
"rxMatchOverride":0,
"sfps":
[ // the configuration itself for each of the connectors
{
"designator":"sfp1",
"ipAddress":"192.16.45.8",
"subnetMask":"255.255.0.0",
"gateWay":"255.255.255.255",
"enable":"true"
},
{
"designator":"sfp2",
"ipAddress":"192.16.45.9",
"subnetMask":"255.255.0.0",
"gateWay":"255.255.255.255",
"enable":"true"
}
]
},
"receiveVideo2110":
[ // this part is to receive a video feed where you set the connector, the source address
// and its port for both the connectors.
{
"stream":"video1",
...
},
{
"stream":"video2",
...
}
],
"receiveAudio2110":
[ // this part is to receive an audio feed where you set the connector, the source address
// and its port for both the connectors.
{
"stream":"audio1",
...
},
{
"stream":"audio2",
...
}
],
"receiveAnc2110":
[ // this part is to receive the ancillary data where you set the connector, the source address
// and its port for both the connectors.
{
"stream":"anc1",
...
},
{
"stream":"anc2",
...
}
],
"transmitVideo2110":
[ // this part is to send a video signal where you set the connector, the destination address
// and its port for both the connectors.
{
"stream":"video3",
...
},
{
"stream":"video4",
...
}
],
"transmitAudio2110":
[ // this part is to send an audio signal where you set the connector, the destination address
// and its port for both the connectors.
{
"stream":"audio3",
...
},
{
"stream":"audio4",
....
}
],
"transmitAnc2110":
[ // this part is to send ancilary data where you set the connector, the destination address
// and its port for both the connectors.
{
"stream":"anc3",
...
},
{
"stream":"anc4",
...
}
]
}
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”.
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.
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
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
————————————————————
SRT Stream in CBR for 25 FPS with High Quality Audio
The next Sample is being used by several Customer in a Multichannel Stream Setup to broadcast Music Video Content. This Config runs smooth for 4 parallel Output+Stream Channel – achieving optimal sound and picture quality with FHD ACC audio.
The next Sample is for Twitch. Use Twitch Inspector to check your Stream Stability and add “?bandwidthtest=true” to your Stream URL to prevent going Live.
video parameters—including 4:2:2 chroma subsampling, a specific GOP structure (M=3, N=15), and interlaced field processing—alongside professional-grade 24-bit PCM audio at a 48 kHz sample rate.
The default AAC streaming settings save CPU, but might sound flat on music channels. For pristine audio, choose one of the two profiles below based on your target audience and source material.
Quick Prep: – Source: Use 48 kHz clips (320kbps or lossless PCM). – Video: Lower video to 720p30 if bandwidth is low. Always use hardware encoding.
Option 1: Maximum Compatibility & Stability (Safe Variant)
Best for: Standard streaming, cable operators, and DVB-T multiplexers. This is the safest profile to prevent phase issues across various types of content.
audio::profile=’aac_low’: Sets AAC-LC for maximum quality and 100% hardware decoder compatibility. audio::aac_coder=’0′: Forces a high-quality two-loop encoding run for clear transients. (Change to 1 if you face CPU spikes). Dynamic Stereo: Leaves stereo management to the encoder, making it highly resilient against imperfect source material.
Best for: Dedicated music channels with pristine studio-grade source files. This profile utilizes a tight VBR envelope and forced Mid/Side stereo processing.
audio::stereo_mode=’ms_force’: Forces Mid/Side stereo processing, maximizing bandwidth efficiency for deep, wide stereo soundscapes. minrate=’200K’ / maxrate=’320K’ / bufsize=’640K’: A tight VBR envelope that prevents quality drops in quiet passages while leaving room for heavy musical peaks. Note: If your audio lacks “punch” or sounds hollow on certain clips, switch back to Option 1, as your source material might contain phase inconsistencies.
Color Space and Chroma subsampling and Interlace
The Support for certain Color Spaces, e.g. 4:2:2 for DVB, or Interlaced Encoding, depend very much on the Intel CPU or NVidia GPU you are using.
1. NVidia Support for Interlaced Encoding: – Pascal (GTX 10-Serie): Last architecture with interlace support – Turing / Ampere / Ada (RTX 20/30/40): Hardware support for interlaced encoding was removed – Blackwell (RTX 50-Serie): Interlaced encoding for H.264 (8-bit and 10-bit) has been re-introduced
2. NVidia Support for 4:2:2 Color Space: – Blackwell (RTX 50-Serie)
3. Intel Support for 4:2:2 Color Space – 10th Gen and newer processors offer support for Hardware Accelerated encoding and decoding of HEVC codec on 4:2:2 color sampling via Quick Sync. – Previous graphics controllers on 9th Generation Intel® Core™ Processors and older were limited to HEVC codec 4:2:0 color sampling for hardware accelerated encoding and decoding.
This is a quick config sample to encode 4:2:2 with Intel Quick Sync (10th Gen+)
Note: Features such as interlace and 4:2:2 color space are also available in x264 CPU encoders. Since we use an LGPL version of FFmpeg without GPL parts (e.g., libx264), these features are not enabled. It is possible to replace the FFmpeg libraries with your own versions.
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:
You can then test your resulting Audio Tracks in e.g. StreamGURU:
Routing Streams over specific IP
Your production requires you to send your streams via specific networks. This is mostly used to have a dedicated/reserved line for streaming, so it doesn’t interfere with regular network traffic.
If using UDP Streams you simple add this parameter directly to the URL: udp://ip:port?localaddr=172.20.10.2
If using SRT Streams you simple add this parameter directly to the URL. This only works in rendezvous mode: srt://ip:port?mode=rendezvous&localip=172.20.10.2
If using RTMP Streams, there sadly is no paramter. You need to route all RTMP outbound traffic manually. For this we use Proxifier. Goto Profile, Proxification Rules, Add new Rule and edit like this and move it to the top if the rules. Pick your desired adapter via “Advanced”.
If you want to run a dry test locally without the 2nd line, enable both Ethernet Adapter and Wifi on your PC, then Start a new Hotspot on your Mobile Phone and connect PC Wifi to that Phone. Then open Console (“cmd”) and type “ipconfig”. The IP address you need is there:
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. Bitrate
Follow this Rule: The Video and Audio Bitrate Setting (for your Stream) should never exceed the Clip Encoding Bitrate. Check by right-clicking your Clip in the Playlist and open MediaInfo. In this case, set your Video Bitrate to 3M and Audio Bitrate to 128K.
2. 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) If the network is slow, you see Breaks because the Server wants a new frame but it cannot get there in time (for protocols that requires acknowledgement like RTMP or SRT). Breaks can also happen if the Source does not deliver a frame in time.
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.
3. 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. If you have no Tool at Hand, we recommend streaming to YouTube, as it has a build-in Stream Analyzer, which is very useful to diagnose any instable connections.
In addition, please check with your Provider or Service, if the provide any LOCAL Stream Ingest URL’s for your Region or Country. As an example, Twitch provides these Twitch Ingest Endpoints.
You can directly Drag Drop any YouTube URL from your Browser to PLAYDECK:
To insert a new Stream into your Playlist, simply Drag Drop the STREAM Icon onto the Playlist. A new Popup will appear, where you can enter the Stream URL:
Your Stream will be scanned by PLAYDECK now. If the PLAYDECK could connect to your Stream successfully, the Text will be shown in WHITE. You can now play the Stream and/or can double-click the INFO icon to view more information about the Stream, like Video format and codec:
If the Stream can NOT be connected, it will appear in RED:
If you made a typo, you can quickly re-edit the URL by right-clicking and selecting CHANGE URL:
Insert YouTube Video
You can insert YouTube Links via Drag Drop or in the same manner as insert as Input Stream. See this article on more information about YouTube.
Insert Website Video
You can insert some Websites per Drag Drop directly into the Playlist or via the STREAM Icon. We use TWITCH in this example. Click SHOW HELP to get more info about what Websites can be used: