License
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
System Requirements
Before installing the software, make sure the following components are installed:
Informal
Setup CasparCG
The basic prerequisite for the smooth operation of PlyCast is the correct configuration of CasparCG the heart of PlyCast. These configurations must be set correctly before the first start.
CasparCG XML: The configuration file is called casparcg.config and is located in the PlyCast folder "ext".
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<paths>
<media-path>media/</media-path>
<log-path>log/</log-path>
<data-path>data/</data-path>
<template-path>template/</template-path>
</paths>
<lock-clear-phrase>secret</lock-clear-phrase>
<channels>
<channel>
<video-mode>1080i5000</video-mode>
<consumers>
<screen />
<system-audio />
</consumers>
</channel>
</channels>
<controllers>
<tcp>
<port>5250</port>
<protocol>AMCP</protocol>
</tcp>
</controllers>
<amcp>
<media-server>
<host>localhost</host>
<port>8000</port>
</media-server>
</amcp>
</configuration>
The "video-mode" Node, will set also PlyCast Source Frame.
<video-mode>1080i5000</video-mode>
Please be sure to read the CasparCG instructions
Initial Configuration
PlyCast must be configured on the first launch. This setup is done through the new Settings GUI, available starting from version v1.0.26.48-rc-uis.
You can access the settings via:
Edit → Settings
In this menu, all configuration options for PlyCast can be created and adjusted.
Saving the settings requires a restart of the application. However, the playout will continue broadcasting the last clip without interruption.
| Setting | Description |
| Name of Instance | Defines the display name of the PlyCast instance (used internally and in logs). |
| PlayChannel | Selects the CasparCG channel used for playout. Must match the CasparCG server configuration. |
| CueTime | Preroll/cue time in seconds. PlyCast prepares the next clip during this time. |
| ListMode | Determines playlist cleanup behavior (e.g., CleanUp every hour). |
| VideoAnalyser (Beta) | Enables the experimental video analysis module. |
| ChapterSupport | Activates chapter-based playout markers if the media supports it. |
| Mail Alerts | Sends email notifications on warnings, errors, or system events. |
| MySQL Logging | Stores playout and system logs in a MySQL database. |
| Disable CG | Deactivates CG (graphics) output. |
| Disable Logo | Disables automatic logo insertion (if configured). |
| Emergency List | Enables the emergency fallback playlist. |
| End Of List | Triggers a specific action or alert when the playlist reaches the end. |
| Save & Restart | Saves settings and restarts the application (playout continues without interruption). |
| Cancel | Closes the settings window without saving. |
Chapters {#idocs_chapters}
PlyCast supports chapter markers embedded within a media file. When a file with chapters is imported (via drag & drop), PlyCast automatically segments the file into multiple playlist items.
A corner bracket indicator is shown to confirm that the segmentation was successful.
How Chapter Segmentation Works
- Import →
TestFile.mp4
- Segmentation →
TestFile.mp4 [Chapter Name],
TestFile.mp4 [Chapter Name],
TestFile.mp4 [Chapter Name], …
- Removal →
The original file (TestFile.mp4) is removed from the playlist after segmentation.
This ensures that only the chapter-based segments remain in the playlist for playback.
Creating Chapters: Chapters can be created using tools such as FFmpeg. It is important that the TIMEBASE is set to 1/1000, meaning all start and end positions must be specified in milliseconds (ms).
FFmpeg Command: Use the following command to embed chapters from a separate text file:
[CHAPTER]
TIMEBASE=1/1000
START=0
END=123400
title=Intro
[CHAPTER]
TIMEBASE=1/1000
START=123400
END=245000
title=Part 1
[CHAPTER]
TIMEBASE=1/1000
START=245000
END=380000
title=Part 2
FFmpeg Command:
ffmpeg -y -i "NoChapterTest.mp4" -i "Chapters.txt" -map_metadata 1 -codec copy "ChapterTest.mp4"
Emergency Playlist
The Emergency Playlist is a safety feature that prevents your broadcast from going off-air. When the last clip in the main playlist has finished playing and no more items are available, PlyCast will automatically load the Emergency Playlist - but only if the option is enabled.
This ensures continuous playout and avoids any unwanted black screen or silence on air.
Typical use-cases include:
- Fallback music or loops
- Safety videos
- Station branding or filler content
Once the Emergency Playlist is active, it continues to play until new items are added to the main playlist.
End of List Feature
The End of List feature sends out an automatic email notification when the last clip in the playlist is reached and begins playing.
This allows operators or automation systems to react before the playlist runs empty.
The notification is only sent if the feature is enabled and email alerts are correctly configured in the settings.
Typical use-cases:
- Informing staff that new content must be added
- Triggering external automation workflows
- Monitoring unattended or overnight playout
Logs
PlyCast includes a built-in logging system accessible through the Help menu. All relevant events, actions, warnings, and system processes are automatically logged.
The log system helps with:
- diagnosing issues (including python)
- tracking automation events
- identifying playback behavior
- monitoring system stability
- reviewing past actions
Logs are written continuously as PlyCast operates and can be opened at any time for troubleshooting or documentation purposes.
Logo Creator
The Logo Creator allows you to create and configure broadcast logos for PlyCast. All changes take effect immediately after saving.
Supported Logo Formats
PlyCast supports several logo types:
- PNG (with or without alpha)
- MOV with alpha channel
- Targa (TGA)
- Website / URL (live webpages can be used as logos)
Important Format Requirements: Logos must always match the exact resolution of the playout format.
- If your playout format is 1920×1080, the logo file must also be 1920×1080.
- The visible logo (e.g., top-right corner graphic) should be scaled down inside this full-size canvas.
- Only full frames are supported - no fractional resolutions.
| Setting | Description |
| Name | The display name of the logo preset (e.g., New Logo). |
| Logo (File or URL) | Path to an image file or a direct URL used as the logo graphic. |
| Logo / Alpha Buttons | Choose whether you are assigning the main logo image or an alpha image. |
| LogoDelay in Seconds | Delay time before the logo is shown. |
| Fade in Frames | Number of frames used to fade the logo in (smooth transition). |
| Layer of this Logo | CasparCG layer number where this logo will be placed. |
| Automatically tag clips with this logo | Tags matching clips so they automatically use this logo. |
| Automatically exclude clips from this logo | Prevents certain clips from displaying this logo. |
| Save | Saves the logo configuration and activates changes immediately. |
How Automatic Tagging and Excluding Works?
PlyCast can automatically assign or remove logos based on keywords in the clip name.
Automatically tag clips with this logo: If a clip name contains one of the defined keywords, the logo will be applied automatically.
Example: If the keyword is "Music" and the clip is named "PlyCast_Music.mp4", the logo will be added as soon as the clip is dragged into the playlist.
Automatically exclude clips from this logo: If a clip name contains a keyword from the exclusion list, the logo will not be applied.
Example: If the exclusion keyword is "AD_", then clips like "AD_Commercial01" will never receive this logo.
If you use the ** *(asterisk)** symbol, the logo will be applied to all clips, except those that appear in the exclusion list.
Example Files (Download & try!)
| Name | Description | Download Link |
| Video | MOV with Alpha-Channel (1080i50) | Download |
| Image | Targa with Alpha 1080 | Download |
| HTML5 | PHP Script 1080 | Download |
CG Creator
The CG Creator allows you to create and configure CasparCG graphics (CGs) inside PlyCast.
Saved changes take effect immediately.
| Setting | Description |
| Name | The display name of the CG preset (e.g., New CG). |
| Logo (File or URL) | Path to a CG template file, image, MOV with alpha, or a URL for web-based CG. |
| Logo / Alpha Buttons | Select the main CG graphic or assign an additional alpha file. |
| Fade in Frames | Number of frames used to fade the CG into the output. |
| Layer of this Logo | CasparCG layer on which the CG will appear (e.g., 9). |
| UpTime | Time when the CG should fade in (relative to clip start). |
| DownTime | Time when the CG should fade in (relative to clip end). |
| Duration | Total time the CG stays visible. |
| Automatically tag clips with this CG | Clips containing these keywords will automatically receive this CG. |
| Automatically exclude clips from this CG | Prevents CG assignment for clips with these keywords. |
| Save | Saves the CG configuration and applies it immediately. |
Notes
- CGs can be static (PNG, TGA), animated (MOV with alpha), or HTML-based (URL).
- Timing fields (UpTime, DownTime, Duration) follow the format: HH:MM:SS:FF (24H)
- Like with logos, the * symbol applies the CG to all clips unless excluded.
Example: Using CGs for Music Video Information:
One of the most common use-cases for CGs in broadcast environments is the automatic display of artist and track names during music videos. PlyCast allows you to create a CG preset that automatically inserts this information whenever a matching clip is played.
Example scenario:
- Clip name:
ArtistName_SongTitle_OfficialVideo.mov
- Automatically tag value:
*
→ All clips receive this CG unless excluded
- Exclude value:
AD_
→ Commercials and promos are ignored
When the clip starts, the CG appears based on the configured UpTime, DownTime, and Duration.
Important Technical Notes (CG Files)
A CG file can be any of the following:
- URL (HTML-based CG template)
- PNG, JPG, TGA
- MOV with alpha channel
- AVI files (if they contain an alpha channel)
If the file is an image without an embedded alpha channel, you must provide a separate alpha file using the Alpha button.
MOV files often include a built-in alpha channel, making them ideal for animated lower-third graphics like artist/title plates.
When a URL is used, PlyCast automatically sends the following parameters along with the request:
This allows server-side CG templates to dynamically adjust text or layout based on metadata.
Why This Matters for Music Television
For automated music channels, properly configured CGs ensure:
- Artist and title information appears at the correct moment
- Branding and styling remain consistent
- No manual operator is required
- CGs remain synchronized with the playout
- Lower-thirds fade in and out cleanly
- Thousands of clips can be handled automatically
This makes PlyCast ideal for fully automated music TV workflows.
Functions
Functions are permanently implemented playlist functions. They are the basic functionality of PlyCast and cannot be modified or enhanced. In order to be able to edit a function, the function must first be selected in the playlist. Then you can modify them with a double click.
| Function | Description | Action (double click) |
| Fix Start | It creates a playlist item and Start at the given Date and Time. | Edit Date & Time |
| Comment | It creates a playlist item for Comments | Edit Text |
| Goto | It creates a playlist item to go to a specific comment. If an error shows, the comment was deleted or renamed. "GoTo" will set ListMode temporarily to 0 and back if no GoTo/Loop is inside anymore. | Choose a specific Comment |
| Wait | It creates a playlist item and waits until the duration has been reached. | Edit Duration |
| Jump Next | Cues the next playlist item | |
| Stop | It stops the playlist. | |
| Take | Cancels the current file and immediately starts the selected one without cueing. | |
| Logo | If a logo is set manually, it is excluded from the automation. | |
| CG | If a CG is set manually, it is excluded from the automation. | |
| CleanUp | Remove Older Files | |
Plug-Ins
With plug-ins you can expand PlyCast according to your needs. Plug-ins can deliver files or perform other miscellaneous tasks. Plug-ins are saved as Python scripts in the plugins folder where is located in the PlyCast Root-folder.
Just right click in the Playlist and load the Playlist from the menu, or just drag and drop the plugin-files directly into the Playlist. (The Function "load" will fired after Drop.)
This is a simple Plug-In example (Python).
import sys
def Cue():
print("CUE")
def ResetOrStop():
print("ResetOrStop")
def OnAir():
print("PLAY")
def InitLoad():
print("[FILE],[FILE],[FILE]...", end = '')
if sys.argv[1] == "cue":
Cue()
if sys.argv[1] == "onair":
OnAir()
if sys.argv[1] == "load":
InitLoad()
if sys.argv[1] == "stop":
ResetOrStop()
PlyCast sends 3 commands to the plugin.
| Commands | Description |
| load | Loads is executed when inserted into the playlist. Loads can send files back to the playlist. To do this, a return value with the complete file path (comma separated) must be returned. Important! (end = '') at the end when print. |
| cue | Can't return Files but Fired your Code at Cue. |
| onair | Can't return Files but Fired your Code at OnAir. |
| stop | Can't return Files but Fired before new listitem is set onair |
Templates {#templates}
Templates make working with PlyCast easier. They allow you to prepare individual programs or entire days in advance. Plug-ins and functions inside a template are only executed after the template is imported into the main playlist.
How to Create a Template
Creating a template is quick and does not require navigating through menus:
- Scroll to the Template area in PlyCast.
- Click the “+” button at the bottom to create a new template.
- Add content via drag & drop directly into the new template window.
Deleting Items in a Template
To remove a template:
- Simply double-click the trash icon.
- The selected entry will be deleted immediately.
Using Templates
To use a template, simply drag and drop the file into the playlist. All items, functions, timings, and plug-in actions inside the template will then become part of the current playlist.
Playlist Management # {#plyman}
The playlist can be operated as usual with the mouse.
- Simply add files to the list by dragging and dropping them from Explorer.
- Copy, cut, delete and paste are performed with the usual combinations.
- PlyCast can be closed. The last File in CasparCG will play until the End.
####
Shortcuts
| Key | Description |
| Ctrl + C | Copy Playlist Item |
| Ctrl + X | Cut Playlist Item |
| Ctrl + V | Paste Playlist Item |
| Ctrl + S | Save Current Playlist |
| Delete | Delete Selected Playlist |
| Shift + Mouse | Select Up/Down |
| Ctrl + Mouse | Select Playlist Item |
| F5 | Clean Up Playlist |
| Arrow Up/Down | Select Item Up and Down |
Plugins-Store
PlyCast provides access to a variety of official and community plug-ins, which can be downloaded from our online Plugins-Store.
The Plugins-Store is not integrated inside PlyCast. All available plug-ins are listed and downloadable directly on our website. Plug-ins extend PlyCast with additional functions, automation tools, data integrations, and workflow enhancements.
To install a plug-in, simply visit the website, download the desired plug-in, and follow the included installation instructions.