Download the software
Get the beta installer when the download is available.
The installer download link will be added soon.Run your playout with confidence.
A step-by-step guide from installation and port planning through playlists, on-air operation, automation and troubleshooting.
Interface overview
The left panel is the media browser; the centre is the current playlist; the right panel contains templates, plugins, functions, categories, logos and CGs. The top bar shows preview, transport controls, on-air and next items, and estimated playlist end. The video server status and server clock appear below the playlist.
Install and configure: the correct order
casparcg.config and restart CasparCG to apply them.casparcg.config. PlyCast controls playout, but the actual output devices and destinations are set in CasparCG. Before changing SDI, screen or other outputs, read the CasparCG Server Wiki and check the configuration for your hardware.If you need custom ports, multiple instances or a different CasparCG installation, use this order before starting the affected services to avoid port conflicts:
- Install the application and CasparCG. Locate the installation folder,
config.json, and CasparCG'scasparcg.config. The CasparCG configuration normally resides inassets/casparcg/casparcg.config; an alternate path can be specified throughcasparcg.config_path. - Configure CasparCG first. In
casparcg.config, set the intended channel, video mode, output consumers, media path and AMCP listener. Confirm that its AMCP TCP port is available. Set its media path to the same media collection that PlyCast will index. If you edit this file after CasparCG is running, restart CasparCG to apply it. - Then configure PlyCast ports. Open PlyCast's
config.json. Setcasparcg.hostandcasparcg.portto the CasparCG AMCP listener. Choose free ports forserver.port,sftp.portandlive.port. Setmedia.directory,casparcg.channelandcasparcg.layerto match your installation. - Check for collisions. Each local listening service needs its own unused port. The CasparCG AMCP port is a separate service from PlyCast's web, SFTP and live input. If several PlyCast instances run on one host, allocate distinct web, SFTP and live ports to each and check their CasparCG targets.
- Start PlyCast after your custom changes. The launcher can start local CasparCG automatically when
casparcg.autostartis true. Open the web interface and verify the video server indicator and Settings → Info → Ports.
config.json, not reserved defaults for every installation. Keep them for a standard setup; change them only if your environment requires different ports or paths.| Service | Example | Direction and purpose |
|---|---|---|
| Web interface | TCP 8000 | Incoming browser and API traffic (server.port). |
| SFTP upload | TCP 8001 | Incoming file upload, if SFTP is enabled. |
| Live preview input | UDP 8003 | Stream from CasparCG to PlyCast; browser preview still uses the web port. |
| CasparCG AMCP | TCP 5250 | Outgoing control connection from PlyCast to CasparCG. |
For access from another computer, allow the web port and, if used, SFTP through the firewall. The live UDP stream is between CasparCG and PlyCast. The actual address and enabled status are shown under Settings → Info.
Tray icon and startup
On Windows the launcher displays the PlyCast icon in the taskbar notification area (the system tray). If it is hidden, expand the taskbar's small icon menu. The icon tooltip and first menu line show the launcher state. Double-click the icon to open the web interface in the default browser.
| Tray item | Action |
|---|---|
| Open web interface | Opens http://localhost:<server.port> in the default browser. It is also the default menu action. |
| Restart | Asks for confirmation, then restarts the PlyCast server. Check output and current playout first. |
| Quit | Asks for confirmation, stops the PlyCast server and also stops a locally managed CasparCG process. Playout control is interrupted. |
The launcher watches the server process and tries to restart it after a crash; after repeated crashes it pauses restarts and reports the condition. Launching a second copy opens the existing web interface rather than starting a second server. If tray support is unavailable, the launcher stays in a console window and can be stopped with Ctrl+C.
First run
- Start PlyCast 3NX locally on the Windows computer. Find its icon in the system tray (the notification area by the clock) and double-click the icon. PlyCast opens its web interface in your default browser. If the icon is hidden, expand the tray icons first.
- Check the Windows Firewall prompt. The installer may already have created the required rules. If Windows asks whether to allow PlyCast 3NX or CasparCG to communicate, click Allow access for the trusted network you use (usually Private). If no prompt appears and other computers cannot connect, check the firewall rules for the web and SFTP ports listed under Settings → Info → Ports.
- On a fresh installation, sign in with username
adminand passwordadmin. You must set a new password immediately after the first login (at least six characters). Existing installations keep their configured accounts and passwords. - Open Settings as the administrator. Confirm the media folder and CasparCG host, port, channel and video layer. Check the video server status.
- Put media in the configured media folder. In the left panel, select Re-index media, then browse or search for a clip.
- Drag a clip into the central playlist. Add more clips and arrange them in transmission order.
- Check the Next item and playlist end estimate. Press Play to start.
Configuration can differ between installations. Your administrator supplies the application address, media path and server connection.
Media and indexing
Browse folders with the breadcrumb or use the search field. The index supplies media details such as duration, resolution and measured audio loudness. Use the refresh button after adding or changing files. The file-check button checks whether playlist files still exist.
Drag media from the browser to the desired playlist position. Use the In/Out editor to define the playable part of a clip.
.mp4original. Allow indexing to finish and review the result before relying on it on air.In/Out editor
Double-click a media clip in the playlist to open its preview and In/Out editor. You can also double-click an indexed media clip in a template. The edit applies to that playlist or template entry; it does not trim the original media file.
- Play the preview or click and drag along the timeline to find a frame. Use ← and → to move one frame at a time; hold Shift to move about one second. Space plays or pauses.
- Press IN or the I key at the desired first frame. Press OUT or O at the end point. The OUT frame itself is excluded from playback. You can also enter both timecodes directly in their fields.
- Select ▶ IN–OUT to preview exactly the chosen range. Check the displayed Length. Use Reset to remove both marks, or Apply to keep them.
- Back in the playlist, check the IN/OUT badge, effective duration and subsequent start times. The timing recalculates when the selection changes.
Build a playlist
- Drag media into the playlist. Drop at the required location and reorder entries by dragging.
- Click to select an item; use multi-selection for a group of items. Move or remove the selection as needed.
- Review start times, durations and filenames in the playlist columns. The header offers Go to ON AIR and Clean Playlist to remove already played items.
- Check the top bar for the on-air countdown, next item and estimated playlist end.
Playlist edits are saved to the server. If another tab changes the playlist, the interface may reload its current version; review the order again before going on air.
Selection, shortcuts and drag-and-drop
Click a playlist item to select it. Hold Shift and click another item to select the whole range. Hold Ctrl (or Command on macOS) while clicking to select or deselect individual items.
| Action | How |
|---|---|
| Delete | Select playlist items, then press Delete or Backspace. |
| Copy | Press Ctrl+C (or Command+C) with items selected. |
| Paste | Press Ctrl+V (or Command+V). Copied items are inserted before the first selected item, or at the end when nothing is selected. |
| Add media | Drag a file from the media browser on the left into the desired position in the playlist. Drag a folder to add its media files. |
| Reorder | Drag playlist items to another position; you can move a selected group together. |
Apply a Logo or CG
Drag a Logo or CG from the right panel directly onto one clip. To apply it to several clips, select the clips with Shift or Ctrl/Command and double-click the Logo or CG. You can also drag the Logo or CG onto one of the selected clips to apply it to the selected group. Dragging it onto an unselected clip applies it to that clip only. Click its badge on a playlist item to remove that assignment.
On-air controls
| Control | What it does |
|---|---|
| Play | Starts playlist playout. |
| Stop | Stops playout; check the on-air state before leaving the system. |
| Next | Advances to the next playlist entry. |
| Take | Starts the one selected playlist item after the cue time. Select exactly one item. |
Preview can show still images or a live stream. The live view includes a mute control and audio meter when available. The video server indicator reports the connection state; it is separate from the browser preview.
Playlist functions
Drag a function from the right panel into the playlist and edit its settings. These entries affect the schedule differently from ordinary media.
Comment
Operator note; no duration and no playback.
Wait
Enter a duration in HH:mm:ss. The video layer is cleared during the wait.
Fixstart
Set a server date and time for the following item. Earlier material may be cut; arriving early leaves a gap. A past time is ignored when Play is pressed.
Goto
Jump to the item below a chosen Comment, creating a loop. Items after the Goto are not reached while that loop runs.
Example: create a repeating playlist
- Drag Comment from Functions to the top of the block. Name it
Loop start. This is the jump marker and is not played. - Place one or more media clips below the Comment, for example
Station ident,Music video AandMusic video B. At least one item between Comment and Goto must have a positive duration. - Drag Goto below the last clip. Double-click it and choose the earlier
Loop startComment as its target. - Check the order:
Comment: Loop start → Station ident → Music video A → Music video B → Goto: Loop start. Start playout and monitor the first transition back to the station ident.
When Goto is reached, the next played item is the one immediately after the chosen Comment. The Comment must be above Goto; entries after Goto remain unreachable while the loop is active. To end the loop, stop playout or change the playlist deliberately after checking the on-air state.
Plugin example: insert a station ident
Create a file called StationIdent.py in the plugins folder, or use Plugin editor → + New as an administrator. Replace idents/station-ident.mp4 with a real, indexed file path relative to your media collection.
import os
def InitLoad():
# Called when the plugin is dragged into the playlist.
# Insert this indexed media item below the plugin entry.
return ["idents/station-ident.mp4"]
def Cue():
# Called shortly before this plugin reaches its start time.
print("Station ident cue:", os.environ.get("PLYCAST_ITEM_ID"))
def OnAir():
# Called when the plugin entry reaches ON AIR.
print("Station ident on air:", os.environ.get("PLYCAST_STARTTIME_MS"))- Save the plugin. In the editor, run Test → InitLoad. This tests the return value without inserting files into the playlist.
- Drag StationIdent from the Plugins panel into a test playlist. The returned clip should appear below it. If the file is not in the media index, correct its path or re-index.
- Run a controlled test to observe
Cue()andOnAir(). The example prints information; it does not send an external command.
InitLoad() runs on insertion and may return a list of filenames or {"files": [...]}. Cue() runs at the configured cue interval before the plugin start; OnAir() runs at its start time. Each hook runs in a separate process with a 60-second timeout. Available environment variables include PLYCAST_ACTION, PLYCAST_PLUGIN, PLYCAST_ITEM_ID and PLYCAST_STARTTIME_MS. Names may contain letters, digits, underscores and hyphens; files beginning with _ are helper modules and stay out of the plugin list.
Choose a folder for random clips
For a plugin that selects clips at random, first use 📁 Folders at the top of the Plugin editor. Search for your media folder and click it: the editor inserts its full path as a correctly quoted Python string at the cursor. Put that string after MEDIA_FOLDER = in the example below. The folder must contain indexed media clips; this example selects one file when the plugin is inserted.
from pathlib import Path
import random
MEDIA_FOLDER = "C:/PlyCast/assets/casparcg/media/idents" # Replace via 📁 Folders
def InitLoad():
clips = [p for p in Path(MEDIA_FOLDER).iterdir()
if p.is_file() and p.suffix.lower() in {".mp4", ".mov", ".mxf"}]
if not clips:
return []
return [str(random.choice(clips))]The folder picker inserts an absolute path; PlyCast maps files inside the configured media directory back to their media-index entries. Run Test → InitLoad and confirm that the returned file is indexed before using the plugin on air. Change the extension filter for your media format.
Templates and plugins
Select playlist entries and use the + beside Templates to save them as a reusable block. In the template editor, drag in media from the left and functions or plugins from the right; drag to reorder, double-click a function to edit, and remove an entry with ×. Save with a descriptive name.
A plugin in the template editor is not executed there; it runs when inserted into the playlist. Administrators have a separate Plugin editor with test controls. Test custom automation off air before using it in a transmission.
Categories and graphics
Administrators can create Categories, Logos and CGs in the right panel. Categories can have a colour and filename AutoMatch rules when media is added to a playlist. Separate terms with commas; exclusion terms suppress a match. * matches all and can also serve as a wildcard inside a pattern.
Choose a graphic source
When creating a Logo or CG, select either File or URL. Upload alpha graphics such as supported MOV video, PNG or TGA to /_Overlays over SFTP with an administrator account. These files are mapped to the application's overlays/ directory and appear in the Logo/CG file picker without a media re-index. Check that your CasparCG installation can play the chosen codec and alpha format.
For HTML graphics, the URL can point to an external http:// or https:// page. You can also upload an HTML file to /_CG over SFTP and use its internal address, for example http://localhost:8000/cg/lower-third.html when CasparCG and PlyCast share a host and the web port is 8000. Use an address reachable from the CasparCG host if it runs elsewhere.
file=<clip path> to a Logo or CG URL. An existing file parameter is replaced; other parameters are preserved. The HTML page can read this query to display clip-specific information. For a URL loaded without a current media clip, no clip path is added.Set CG timing
A Logo remains visible for the clips to which it is assigned. A CG has its own timing relative to each assigned clip: set In after for when it appears after clip start and Duration for when it goes out. Optionally set In at remaining time for a second appearance when the clip countdown reaches that value. Leave the last field empty for one appearance. Enter times as HH:mm:ss and use the timeline preview to check the result; a CG is cleared at the clip end.
Review the source, layer, assignment and timing in a test playlist before transmission.
As-Run log and tasks
Open the As-Run log from the top controls. Pick a date, filter events (played, cued, plugin, operator, system or errors), search entries, follow live updates, and export CSV. The table records time, event, item, duration, user and details. Administrators can clear the log.
The left Tasks panel reports background work, including indexing. Wait for relevant tasks to finish before checking media availability.
Administrator settings
Settings includes channel name, CasparCG connection and video mode, media folder, audio normalisation, email alerts, users, restart and system information. Open the Users and roles section for permissions, SFTP access and password resets.
Email alerts can cover video server disconnection, playlist end, rejected playback commands and missing files. Set SMTP and recipients, save, then send a test email. The information tab shows installation-specific web and SFTP ports.
CasparCG connection changes are described in the interface as taking effect after about one second. Changes to the CasparCG server configuration or video mode may require a server restart; plan these outside on-air use.
Users, roles and passwords
An administrator manages accounts under Settings → Users. Enter a username, an initial password of at least six characters and a role, then select Add. New accounts must replace the initial password at their first sign-in.
| Role | Access |
|---|---|
| User | Works with media, playlists, playout and templates; can assign existing categories, Logos and CGs to playlist items. Cannot change system settings or manage users and graphic definitions. |
| Administrator | Has User access plus Settings, account management, creation and editing of categories/Logos/CGs, the Plugin editor and server controls. |
SFTP upload checkbox
For a User, tick SFTP upload in that account's row to allow SFTP access with the same username and password. The user can upload to the configured media folder and manage folders, but cannot delete files. Untick the box to remove SFTP access. Administrators always have SFTP access, so their checkbox is checked and cannot be changed. Only administrators see the special SFTP folders /_Overlays and /_CG.
SFTP login is unavailable while an account still has a required password change pending. The service itself must also be enabled and reachable on the port shown under Settings → Info.
Connect with FileZilla
Open FileZilla → File → Site Manager → New site and enter the following values:
| FileZilla field | Value |
|---|---|
| Protocol | SFTP – SSH File Transfer Protocol (not FTP or FTPS). |
| Host | [server IP] — the IP address or hostname of the computer running PlyCast 3NX. You may use sftp://[server IP] when entering a URL. |
| Port | [SFTP port] — check Settings → Info → Ports in PlyCast. The supplied configuration uses 8001 as an example. |
| Logon Type | Normal. |
| User / Password | Your PlyCast 3NX username and password. These are the same credentials used in the web interface. |
Click Connect and accept the server host key after checking that you are connecting to the correct machine. Upload media into the shown media directory. Administrators also see /_Overlays and /_CG. If FileZilla rejects the login, confirm that the user has SFTP permission, has completed any required password change, and that the chosen port is reachable.
Reset or change a password
- To reset another account, an administrator opens Settings → Users and clicks Password on that user's row.
- Enter a new temporary password of at least six characters and give it to that user through your usual secure channel. Their current sessions become invalid and they must change the temporary password at the next web sign-in.
- To change your own password, open the user menu at the top right and choose Change password. Enter the current password and a different new one (at least six characters). Previous sessions are invalidated.
admin / admin login requires an immediate password change. The Password pending label in the Users list means that a user still needs to set a personal password.Troubleshooting
| Symptom | Check |
|---|---|
| White, unstyled page with lots of text and images | Clear cookies and site data for the PlyCast web address in your browser, then reload the page. If it still looks unstyled, try a hard refresh and check that you opened the correct PlyCast address. |
| Port already in use | Stop the conflicting process, choose an unused port in config.json, then restart the affected service. Check the AMCP listener separately from web, SFTP and live UDP. |
| No media listed | Check the configured media directory, then re-index and review Tasks. |
| File unavailable | Run the playlist file check; confirm the file remains in the media folder and indexed path. |
| Server disconnected | Review the video server indicator and CasparCG host/port in Settings; check the As-Run log for errors. |
| Unexpected timing | Compare the server clock, clip in/out points, Wait, Fixstart and Goto entries. |
| No browser live preview | Try the still-image mode and confirm playout state separately. Preview availability does not by itself prove the output is stopped. |
| Command rejected | Check the As-Run error filter, media path and server connection; administrators can enable command-error alerts. |