How to utilize multiple formats for a single Decklink output


#1

I am trying to use CasparCG for in my lab as a QA tool and I need to dynamically switch between different video formats on my Decklink 4K SDI card depending on the format of the clip I am trying to playback. I have set up a different channel in my server config file for each format I want to use, but it seems to me that my output card is hard-setting to what ever the format of the first channel is. If I choose any other channel than “1” in the clips Channel drop-down, I get black.

Is what I am trying to do possible? If so, any ideas?

Here is the channel section of my config file:

<channels>
    <channel>
        <video-mode>1080i5994</video-mode>
        <consumers>
          <decklink>
   <device>1</device>
    <embedded-audio>true</embedded-audio>
    <latency>default</latency>
    <keyer>external</keyer>
    <key-only>false</key-only>
    <buffer-depth>3</buffer-depth>
</decklink>
          <system-audio />
        </consumers>
    </channel>
    <channel>
        <video-mode>720p5994</video-mode>
        <consumers>
          <decklink>
   <device>1</device>
    <embedded-audio>true</embedded-audio>
    <latency>default</latency>
    <keyer>external</keyer>
    <key-only>false</key-only>
    <buffer-depth>3</buffer-depth>
</decklink>
          <system-audio />
        </consumers>
    </channel>
    <channel>
        <video-mode>720p6000</video-mode>
        <consumers>
          <decklink>
   <device>1</device>
    <embedded-audio>true</embedded-audio>
    <latency>default</latency>
    <keyer>external</keyer>
    <key-only>false</key-only>
    <buffer-depth>3</buffer-depth>
</decklink>
          <system-audio />
        </consumers>
    </channel>
    <channel>
        <video-mode>1080p2997</video-mode>
        <consumers>
          <decklink>
   <device>1</device>
    <embedded-audio>true</embedded-audio>
    <latency>default</latency>
    <keyer>external</keyer>
    <key-only>false</key-only>
    <buffer-depth>3</buffer-depth>
</decklink>
          <system-audio />
        </consumers>
    </channel>
    <channel>
        <video-mode>1080p3000</video-mode>
        <consumers>
          <decklink>
   <device>1</device>
    <embedded-audio>true</embedded-audio>
    <latency>default</latency>
    <keyer>external</keyer>
    <key-only>false</key-only>
    <buffer-depth>3</buffer-depth>
</decklink>
          <system-audio />
        </consumers>
    </channel>
    <channel>
        <video-mode>1080p5994</video-mode>
        <consumers>
          <decklink>
   <device>1</device>
    <embedded-audio>true</embedded-audio>
    <latency>default</latency>
    <keyer>external</keyer>
    <key-only>false</key-only>
    <buffer-depth>3</buffer-depth>
</decklink>
          <system-audio />
        </consumers>
    </channel>
    <channel>
        <video-mode>1080p6000</video-mode>
        <consumers>
          <decklink>
   <device>1</device>
    <embedded-audio>true</embedded-audio>
    <latency>default</latency>
    <keyer>external</keyer>
    <key-only>false</key-only>
    <buffer-depth>3</buffer-depth>
</decklink>
          <system-audio />
        </consumers>
    </channel>
    <channel>
        <video-mode>1080p5000</video-mode>
        <consumers>
          <decklink>
   <device>1</device>
    <embedded-audio>true</embedded-audio>
    <latency>default</latency>
    <keyer>external</keyer>
    <key-only>false</key-only>
    <buffer-depth>3</buffer-depth>
</decklink>
          <system-audio />
        </consumers>
    </channel>
    <channel>
        <video-mode>1080i5000</video-mode>
        <consumers>
          <decklink>
   <device>1</device>
    <embedded-audio>true</embedded-audio>
    <latency>default</latency>
    <keyer>external</keyer>
    <key-only>false</key-only>
    <buffer-depth>3</buffer-depth>
</decklink>
          <system-audio />
        </consumers>
    </channel>
    <channel>
        <video-mode>NTSC</video-mode>
        <consumers>
          <decklink>
   <device>1</device>
    <embedded-audio>true</embedded-audio>
    <latency>default</latency>
    <keyer>external</keyer>
    <key-only>false</key-only>
    <buffer-depth>3</buffer-depth>
</decklink>
          <system-audio />
        </consumers>
    </channel>
    <channel>
        <video-mode>PAL</video-mode>
        <consumers>
          <decklink>
   <device>1</device>
    <embedded-audio>true</embedded-audio>
    <latency>default</latency>
    <keyer>external</keyer>
    <key-only>false</key-only>
    <buffer-depth>3</buffer-depth>
</decklink>
          <system-audio />
        </consumers>
    </channel>
    <channel>
        <video-mode>1080p2398</video-mode>
        <consumers>
          <decklink>
   <device>1</device>
    <embedded-audio>true</embedded-audio>
    <latency>default</latency>
    <keyer>external</keyer>
    <key-only>false</key-only>
    <buffer-depth>3</buffer-depth>
</decklink>
          <system-audio />
        </consumers>
    </channel>
    <channel>
        <video-mode>1080p2400</video-mode>
        <consumers>
          <decklink>
   <device>1</device>
    <embedded-audio>true</embedded-audio>
    <latency>default</latency>
    <keyer>external</keyer>
    <key-only>false</key-only>
    <buffer-depth>3</buffer-depth>
</decklink>
          <system-audio />
        </consumers>
    </channel>


#2

This won’t work. IIRC think in 2.1+ you could do:

ADD 1 DECKLINK 1
REMOVE 1 DECKLINK 1

ADD 2 DECKLINK 1
REMOVE 2 DECKLINK 1

etc…

Make sure to remove decklink from all the channels in the config and then move it between them with the AMCP commands above.


#3

If you are using this for QC you are probably better off by just using ffmpeg with decklink support.


#4

I would suggest having a single channel and using the amcp command to change the format of the channel.
Might be FORMAT 1 1080I50 or something similar


#5

How is the AMCP command run? Can I run it from the client GUI? Or is the only way to do it from the server console?


#6

Most of the parameters aren’t availble for output, only input.


#7

Check “Custom command” under “Tools”


#8

Using ffmpeg seems more sensible to me, too.