Multiple casparcg servers on same PC

Hi, I have decklink duo 2, and my setup is channel 1 - key+fill (png’s for now), channel 2 - simple video playout and it works great in 1 server scenario.

Is it possible to setup server or client to automatically recognize png’s on channel 1 and video’s on channel 2 so I don’t have to switch that manually when I add my media?

I tried that with 2 instances of servers, one on port 5250, other on 5251 and each server has separate path for media (png’s and videos), then on client i checked for one server “locked on channel 1” and other “locked on channel 2”.
That doesn’t work for me and I have a feeling I don’t know how to setup deckllink in each config, it seems like when I load second server it overwrites decklink config from first server.

You need two config files and only add one channel per config. Then start Caspar by adding the name of the config file as a parameter like so:

casparcg.exe casparcg1.config
casparcg.exe casparcg2.config

In the configs you add only one decklink and change the <device> line. The first is:

<decklink>
	<device>1</device>
	<embedded-audio>true</embedded-audio>
	<channel-layout>stereo</channel-layout>
	<latency>normal</latency>
	<keyer>external</keyer>
	<key-only>false</key-only>
	<buffer-depth>3</buffer-depth>
	<custom-allocator>true</custom-allocator>
</decklink>

the second:

<decklink>
	<device>2</device>
	<embedded-audio>true</embedded-audio>
	<channel-layout>stereo</channel-layout>
	<latency>normal</latency>
	<keyer>external</keyer>
	<key-only>false</key-only>
	<buffer-depth>3</buffer-depth>
	<custom-allocator>true</custom-allocator>
</decklink>

That should do the trick.

Thanks a lot @didikunz, it works now!

First, I’m a noob here…
I already got PM to clarify my thoughts so here it goes, this PC with decklink duo 2 will be for:

  1. CG - key+fill overlay into For.A HVS-390HS video switcher (SDI 1 and SDI 2 output connectors on decklink)
  2. 1080i50 mpeg or mp4 video playout into For.A (SDI 3 output)
  3. OBS recording (SDI 4 input)

So in CasparCG server config file decklink should be configured as device 1 and device 2. Device 1 is CG key+fill (SDI outputs 1 and 2), and device 2 is SDI output 3.

The idea is when I add to rundown png for graphics overlay, I want it automatically assigned to decklink device 1, and when I add video file I want it automatically assigned to decklink device 2. On regular casparcg server setup, whatever type of file I add it’s automatically assigned to channel 1 cause it reads all files from one media folder, and I have to switch that manually to channel 2 for every video file. For example, video playout on this machine will be used for feeding TV in news studio, and every day we have new set of multiple videos for that purpose. Since we need to be speedy for preparing for news shooting, extra clicking and changing channels manually is a pain.

This is where 2 server configurations comes in handy.
Based on @didikunz’s help I used notepad to create 2 files and then run first than second:
casparcg1.bat and casparcg2.bat, each of them having one command line:

“casparcg.exe casparcg1.config” and “casparcg.exe casparcg2.config” (without quotes)

The trick is that each config file has a different media path, one for png’s and other for videos.
first config:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
		  <paths>
			<media-path>e:\media\grafika\</media-path>
			<log-path>log\</log-path>
			<data-path>data\</data-path>
			<template-path>templates\</template-path>
			<thumbnails-path>thumbnails\</thumbnails-path>
		  </paths>
		<channels>
			<channel>
				<video-mode>1080i5000</video-mode>
				<consumers>
					<decklink>
						<device>1</device>
						<embedded-audio>true</embedded-audio>
						<channel-layout>stereo</channel-layout>
						<latency>normal</latency>
						<keyer>external</keyer>
						<key-only>false</key-only>
						<buffer-depth>3</buffer-depth>
						<custom-allocator>true</custom-allocator>
					</decklink>
				  <system-audio />
				</consumers>
			</channel>
		</channels>
		  <controllers>
			<tcp>
				<port>5250</port>
				<protocol>AMCP</protocol>
			</tcp>
		  </controllers>
</configuration>

second config file, changed port number too:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
		  <paths>
			<media-path>e:\media\video\</media-path>
			<log-path>log\</log-path>
			<data-path>data\</data-path>
			<template-path>templates\</template-path>
			<thumbnails-path>thumbnails\</thumbnails-path>
		  </paths>
		<channels>
			<channel>
				<video-mode>1080i5000</video-mode>
				<consumers>
					<decklink>
						<device>2</device>
						<embedded-audio>true</embedded-audio>
						<channel-layout>stereo</channel-layout>
						<latency>normal</latency>>
						<keyer>external</keyer>
						<key-only>false</key-only>
						<buffer-depth>3</buffer-depth>
						<custom-allocator>true</custom-allocator>
					</decklink>
				  <system-audio />
				</consumers>
			</channel>
		</channels>
		  <controllers>
			<tcp>
				<port>5251</port>
				<protocol>AMCP</protocol>
			</tcp>
		  </controllers>
</configuration>

so “grafika” is for CG and “video” for video files:
media folder

In client I had to add another server like this and renamed for easier usage:


I don’t know why, but only when I change address on another server it works fine.

Now, when I add video and png file it looks like this:


They are both on channel 1, but on different servers, server Playout controls device 2 which is SDI 3 connector output on decklink, and server Grafika controls device 1 that’s SDI 1 and SDI 2 outputs on decklink card, and that was all automatically assigned, just have to remember to put files in right media folders.

I’m testing it on blackmagic atem video switcher, this is what it looks like now, from left to right 1-genlock, BNC1-4 or SDI 1-4 if you like:




Device 1 is camera 1 and camera 2 key and fill, and Device 2 is on camera 3 video of book.
Also you can see on program monitor keying is working great.

Decklink is configured like this:



CasparCG server folder:
server folder

Client is on the same PC as servers.

I’m total beginner on caspar and thank you all for such supportive forum.
If someone has time to read all this I would appreciate opinions or any better suggestion in dumb steps I made, thanks! :smiley: