>CasparCG Setup [[Documentation/Server/Overview|SPX Graphics Controller]] can integrate with CasparCG Server for professional broadcast playout. This guide covers configuring CasparCG servers in SPX. --- ## Prerequisites > [!warning] If SPX is used with CasparCG, version 2.3.x LTS is recommended. See [CasparCG Releases](https://github.com/CasparCG/server/releases). ## Adding CasparCG Servers Starting from v1.0.12, SPX does not have a CasparCG server assigned by default in the [[Documentation/Server/Configurations|configuration]]. ### Via Web Interface 1. Go to **Configuration** page 2. Scroll down to **CasparCG servers** section 3. Click **Add Server** or use the **[ + ]** button 4. Enter server details: - **Name**: Server identifier (e.g., `OVERLAY`) - **Host**: IP address or `localhost` - **Port**: CasparCG port (default: `5250`) 5. Click **Save** at the bottom of the page 6. An empty line will appear to add another server ### Via Configuration File Edit [[Documentation/Server/Configurations|config.json]] directly: ```json { "casparcg": { "servers": [ { "name": "OVERLAY", "host": "localhost", "port": "5250" }, { "name": "VIDEOWALL", "host": "128.120.110.1", "port": "5250" } ] } } ``` ## Server Naming ### Recommended Names The name `OVERLAY` is preferred, since this name is used in all [SPX Store](https://spxgraphics.com/store) [[Documentation/Graphic Templates/Overview|templates]] and the default template pack which comes with the application. **Common server names:** - `OVERLAY` - For on-screen graphics (most common) - `VIDEOWALL` - For video wall displays - `FULLSCREEN` - For full-screen graphics - `BACKUP` - For backup/overflow > [!note] Use only alphanumeric names for CasparCG servers, without special characters or spaces. ## Template Server Assignment Each SPX template has a setting for choosing a target CasparCG server. This server is assigned in the template settings within [[Documentation/Graphics Controller/Project Settings|Project Settings]]. The default value comes from the HTML source code of the template as the `playserver` parameter of the TemplateDefinition object. The name must match one of the configured servers for playout to work. ## Template Source Configuration SPX has three options for loading templates. See [[Documentation/Server/Configurations|General Settings - Template Source]] for details: 1. **`spx-ip-address`** (default) - Templates loaded via HTTP from SPX 2. **`casparcg-template-path`** - Templates loaded from CasparCG's file system 3. **`http://<ip-address>`** - Manual HTTP address ### Template Path Considerations When using `casparcg-template-path`: - Templates **must be in two places**: SPX `ASSETS/templates` folder **and** CasparCG's templates folder - Changes made to either location should also be done to the other - Consider using `rsync` or other mirroring techniques to keep folders synchronized ## Troubleshooting ### Server Not Found Error If a server name is not found during production, you'll see an error message: ``` Template requests CasparCG server [SERVERNAME] but a server by that name was not found in SPX configuration. Make sure app configuration and project settings match. This does not effect web playout. ``` **Solutions:** 1. Verify server name matches exactly (case-sensitive) 2. Check server is added in Configuration 3. Ensure server name uses only alphanumeric characters 4. Restart SPX server after configuration changes ### Connection Issues If CasparCG playout fails: 1. **Check CasparCG is running** - Verify CasparCG Server is started 2. **Verify network connectivity** - Test connection to CasparCG host/port 3. **Check firewall** - Ensure ports are not blocked 4. **Increase log level** - Set `loglevel` to `verbose` or `debug` to see detailed messages 5. **Check CasparCG logs** - Review CasparCG Server console for errors ### Template Loading Issues If templates don't load in CasparCG: 1. **Verify template source setting** - Check `general.templatesource` in config 2. **Check template path** - Ensure templates exist in the correct location 3. **Verify HTTP access** - If using HTTP, ensure SPX is accessible from CasparCG 4. **Check template definition** - Ensure template has valid `SPXGCTemplateDefinition` ## Configuration Example Complete example with multiple servers: ```json { "general": { "templatesource": "spx-ip-address", "port": "5656" }, "casparcg": { "servers": [ { "name": "OVERLAY", "host": "localhost", "port": "5250" }, { "name": "VIDEOWALL", "host": "192.168.1.100", "port": "5250" }, { "name": "BACKUP", "host": "192.168.1.101", "port": "5250" } ] } } ``` ## Restart Required > [!warning] The SPX server process must be restarted whenever changes are made to the CasparCG server configuration. --- ## Read Next - [[Documentation/Graphic Templates/Overview|Graphic Templates Overview]] - Learn how templates reference CasparCG servers - [[Documentation/Renderer/Web Render|Web Render]] - Configure renderer output - [[FAQ/Troubleshooting|Troubleshooting]] - More troubleshooting tips - [[Documentation/Renderer/Workflows/SDI-NDI-2110|SDI/NDI/2110]] - Professional video outputs