Why this one is different #
The first version of this generator is a form shaped like the config file: channels, consumers, fields, XML underneath. It works, but it inherits the file's worst property β a Decklink output is a bare integer, and nothing in the file says which socket on the back of the PC that integer means.
It cannot say, because the number does not come from the config. It comes from the Blackmagic driver enumerating every sub-device of every installed card, in slot order. A DeckLink Duo 2 on its own is devices 1β4. Put a Mini Monitor in the slot before it and the same four sockets become 2β5, while the config file β and any tool that only reads config files β carries on saying 1.
So this version asks about the machine, and never lets you type a device number.
How to use it #
- Setup β paste the config you already have, or pick a layout: 2 fill, 4 fill, 2 key/fill, 1 key/fill + 2 fill, 2 key/fill + 4 fill, NDI only, NDI + 2 key/fill, or 2 screen previews. Each layout says how many SDI connectors it needs.
- Channels β decide what the server does: how many channels, their video mode, and what comes out of each. Collapse the ones you are not working on by clicking their header.
- Hardware β add the cards that are actually in the PC, in the order Blackmagic Desktop Video Setup lists them. Each connector shows the device number CasparCG will use for it. Channels still waiting for a connector get one with Assign to free connectors, or you can click any connector to route a channel to it by hand.
- Output β copy or download the file, and go through the checklist of things the config cannot set up for you.
The strip above the tabs is always checking: two channels on one SDI, a key with no connector to come out of, a 2160p60 channel on a card that tops out at 1080p, a relative log path, colliding ports. Errors are things that will not do what you meant; warnings are things that might not.
Check the numbers against the real machine
A browser cannot enumerate DeckLink cards, but the playout PC can list them. On the Hardware tab there is a paste box and a PowerShell command that asks a running CasparCG server for its device list over AMCP. Paste the reply β or the server's startup log, or a list you typed yourself β and the numbers in the config get checked against the ones the machine reports.
The mismatch it catches most often has one cause: a card set to full duplex in Desktop Video Setup presents half as many sub-devices as the same card in half duplex, so every number after it shifts. That is set in the Blackmagic control panel, never in CasparCG, which is why a config file can look perfectly correct and still address the wrong socket.
Fill and key
External keying sends fill and key out of two connectors so a vision mixer can composite the graphics downstream. Blackmagic links them in pairs β 1 with 2, 3 with 4 β so a channel keying externally has to have its fill on the first connector of a pair. Put it on the second and there is nothing left for the key; the tool says so rather than generating a config that half works.
If you need the key somewhere else, pick key on a connector I choose and the generated config uses external_separate_device with an explicit <key-device>.
Loading a config you already have
Paste an existing casparcg.config on the Setup tab and it loads into the panels. Anything this tool has no form for β an ffmpeg consumer, a thumbnails block, an option added in a later version β is kept and written back out unchanged, so loading a real config, changing one setting and pasting it back is safe.
Device numbers are the exception, and deliberately so. They are kept exactly as the file has them, and drawn on the connector with that number, until you press Bind to these connectors on the Hardware tab. Do that once the cards there are in the same order as on the real machine; from then on the routing follows the connector. Binding is a separate step because importing usually comes before describing the cards β tying the numbers to a guess at the hardware would let a card you add later silently move an output the file named exactly.
What the file records
The generated config opens with a comment listing every device in the machine, which card and connector it is, and which channel uses it. Six months later, on a PC whose lid has never been opened, that comment is the only thing that will tell you what <device>3</device> was supposed to mean.