CasparCG 2.0 AMCP Protocol

From CasparCG Wiki

Jump to: navigation, search

Document history

  • 1.7 2009-04-15 Niklas P Andersson
  • 1.7.1 2010-03-08 Niklas P Andersson
  • 1.8.0 2010-04-07 Niklas P Andersson
  • 2.0.0 2012 Robert Nagy
  • 2.0.1 2012-08-21 Jonas Hummelstrand (Deprecated the STATUS command and linked to the INFO command that replaces it.)
  • 2.0.2 2012-08-29 Jesper Stærkær (Several syntax corrections.)
  • 2.0.3 2012-08-30 Jonas Hummelstrand (Added Disk Consumer commands.)
  • 2.0.4 2012-11-20 Jonas Hummelstrand (Clarified SET)
  • 2.0.5 2012-12-03 Jeff Lafforgue (Added Remove Data command. Clarified Store Data command)
  • 2.0.6 2013-06-19 Helge Norberg (Added commands that has been added in 2.0.4)

Contents

Communication

The Advanced Media Control Protocol (AMCP) is the main communication protocol used to control and query CasparCG Server.

  • All communication is presumed to be encoded in UTF-8.
  • Each command has to be terminated with both a carriage return and a linefeed character. For example:
    • \r\n
    • <CR><LF>
    • <0x0D><0x0A>
    • <13><10>
  • The whole command string is case insensitive.
  • Since the parameters in a command is separated by spaces, you need to enclose the parameter with quotation marks if you want it to contain spaces.

Backwards Compatibility

The AMCP 2.0 protocol implementation is mostly backward compatible with the previous CasparCG 1.7.1 AMCP Protocol and CasparCG 1.8.0 AMCP Protocol. This is achieved by providing default values for parameters used by the AMCP 2.0 protocol.

Breaking Changes

The CLEAR command will also clear any visible template graphic in the specified container.

Special sequences

Since bare quotation marks are used to keep parameters with spaces in one piece, there has to be another way to indicate a quotation mark in a string. Enter special sequences. They behave as in most programming languages. The escape character is the backslash \ character. In order to get a quotation mark you enter \" in the command.

Valid sequences:

  • \" Quotation mark
  • \\ Backslash
  • \n New line

These sequences apply to all parameters, it doesn't matter if it's a file name or a long string of XML data.

Return Codes

Information

  • 100 [action] - Information about an event.
  • 101 [action] - Information about an event. A line of data is being returned.

Successful

  • 200 [command] OK - The command has been executed and several lines of data (seperated by \r\n) are being returned (terminated with an additional \r\n)
  • 201 [command] OK - The command has been executed and data (terminated by \r\n) is being returned.
  • 202 [command] OK - The command has been executed.

Client Error

  • 400 ERROR - Command not understood
  • 401 [command] ERROR - Illegal video_channel
  • 402 [command] ERROR - Parameter missing
  • 403 [command] ERROR - Illegal parameter
  • 404 [command] ERROR - Media file not found

Server Error

  • 500 FAILED - Internal server error
  • 501 [command] FAILED - Internal server error
  • 502 [command] FAILED - Media file unreadable


Command Specification

Required Value

[my_value_name:my_type,my_type2]

Required value with one of the comma-separated types my_typex.

Examples: A required value for transition which can be either CUT, MIX, PUSH or WIPE.

[transition:CUT,MIX,PUSH,WIPE]
>> CUT
<< CUT

A required value for video_channel which must a signed integer.

[video_channel:int]
>> 1
<< 1

Optional Expression

{my_expr|my_default_expr}

Optional expression where my_def_expr is used if no expression is provided. If |my_def_expr is not provided then it is assumed to evaluate to |"".

Examples: An optional expression which will be evaluated to -0 if not provided.

{[layer:int]|-0}
>> -2
<< -2
>>
<< -0

An optional expression will be evaluated to an emptry string if not provided.

{[tween:string]}
>> easeinsine
<< easeinsine
>>
<<

Basic Commands

LOADBG

LOADBG [channel:int]{-[layer:int]} [clip:string] {[loop:LOOP]} {[transition:CUT,MIX,PUSH,WIPE,SLIDE] [duration:uint] 
{[tween:string]|linear} {[direction:LEFT,RIGHT]|RIGHT}|CUT 0} {SEEK [frame:uint]} {LENGTH [frames:uint]} 
{FILTER [filter:string]} {[auto:AUTO]}

Loads a producer in the background and prepares it for playout. If no layer is specified the default layer index will be used.

clip will be parsed by available registered producer factories. If a successfully match is found, the producer will be loaded into the background.

If a file with the same name (extension excluded) but with the additional postfix _a is found this file will be used as key for the main clip.

loop will cause the clip to loop.

When playing and looping the clip will start at frame.

When playing and loop the clip will end after frames number of frames.

auto will cause the clip to automatically start when foreground clip has ended (without play). The clip is considered "started" after the optional transition has ended.

Examples:

LOADBG 1-1 MY_FILE PUSH 20 easeinesine LOOP SEEK 200 LENGTH 400 AUTO FILTER hflip
LOADBG 1 MY_FILE PUSH 20 EASEINSINE
LOADBG 1-1 MY_FILE SLIDE 10 LEFT
LOADBG 1-0 MY_FILE

To automatically clear a layer or channel after a video file has been played to the end:

PLAY 1-1 MY_FILE
LOADBG 1-1 EMPTY MIX 20 AUTO

See Animation Types for supported values for tween.

See [1] for supported values for the filter command.

Note: Filters are currently only supported by some producers (FFMPEG and Decklink). Use deinterlace or deinterlace_bob as short-hands for deinterlacing filters.

LOAD

LOAD [video_channel:int]{-[layer:int]|-0}  [clip:string] {"additional parameters"}

Loads a clip to the foreground and plays the first frame before pausing. If any clip is playing on the target foreground then this clip will be replaced.

Examples:

LOAD 1 MY_FILE
LOAD 1-1 MY_FILE

Note: See LOADBG for additional details.

PLAY

PLAY [video_channel:int]{-[layer:int]|-0} {[clip:string]} {"additional parameters"}

Moves clip from background to foreground and starts playing it. If a transition (see LOADBG) is prepared, it will be executed.

If additional parameters (see LOADBG) are provided then the provided clip will first be loaded to the background.

Examples:

PLAY 1 MY_FILE PUSH 20 EASEINSINE
PLAY 1-1 MY_FILE SLIDE 10 LEFT
PLAY 1-0 MY_FILE

Note: See LOADBG for additional details.

PAUSE

PAUSE [video_channel:int]{-[layer:int]|-0}

Pauses foreground clip.

Examples:

PAUSE 1
PAUSE 1-1

STOP

STOP [video_channel:int]{-[layer:int]|-0}

Removes foreground clip.

Examples:

STOP 1
STOP 1-1

CLEAR

CLEAR [video_channel:int]{-[layer:int]}

Removes all clips (both foreground and background). If no layer is specified then all layers in the specified video_channel are cleared.

Examples:

CLEAR 1

Clears everything from the entire channel 1.

CLEAR 1-3

Clears only layer 1 of channel 3.

CALL

CALL [video_channel:int]{-[layer:int]|-0} [param:string]

Calls method on the specified producer with the provided param string.

Examples:

CALL 1 LOOP
CALL 1-2 SEEK 25

SWAP

SWAP [channel1:int]{-[layer1:int]} [channel2:int]{-[layer2:int]}

Swaps layers between channels (both foreground and background will be swapped). If layers are not specified then all layers in respective video_channel will be swapped.

Examples:

SWAP 1 2
SWAP 1-1 2-3

ADD

ADD [video_channel:int] [parameters:string]

The string clip will be parsed by available registered consumer factories. If a successful match is found a consumer will be created and added to the video_channel.

Examples:

ADD 1 DECKLINK 1
ADD 1 BLUEFISH 2
ADD 1 SCREEN
ADD 1 AUDIO
ADD 1 IMAGE filename
ADD 1 FILE filename.mov
ADD 1 FILE filename.mov SEPARATE_KEY

REMOVE

REMOVE [video_channel:int] [parameters:string]

Removes an existing consumer from video_channel.

Examples:

REMOVE 1 DECKLINK 1
REMOVE 1 BLUEFISH 2
REMOVE 1 SCREEN
REMOVE 1 AUDIO
REMOVE 1 FILE


PRINT

PRINT [video_channel:int]

Saves an RGBA PNG bitmap still image of the contents of the specified channel in the media folder.


Examples:

PRINT 1

Will produce a PNG image with the current date and time as the filename for example 20130620T192220.png

LOG

SET

SET [video_channel:int] MODE [video_format]

Changes the video format of the specified channel.


Examples:

SET 1 MODE PAL

...changes the video mode on channel "1" to "PAL".

Data Commands

The DATA commands are convenient to use when you have large datasets that might not be available at broadcast-time. DATA allows you to store a dataset on the CasparCG Server and assign it to a much shorter name. This name can then be used to recall the data when displaying a template graphic.

DATA STORE

DATA STORE [name:string] [data:string]

Stores the dataset data under the name name.

Since v2.0.3, adds support for creating directories that does not exist.

Example:

DATA STORE my_data "Some useful data"
DATA STORE Folder1\\my_data "Some useful data"

DATA RETRIEVE

DATA RETRIEVE [name:string] [data:string]

Returns the data saved under the name name.

Example:

DATA RETRIEVE my_data
DATA RETRIEVE Folder1\\my_data


DATA LIST

DATA LIST

Returns a list of all saved datasets.

DATA REMOVE

Available since v2.0.3, allows removal of the dataset under the name name.

DATA REMOVE [name:string]

Example:

DATA REMOVE my_data
DATA REMOVE Folder1\\my_data

Template Graphics Commands

Commands that are sent to Flash templates.

Template Data

Data to templates is sent as xml, formatted as follows:

<templateData>
	<componentData id="f0">
		<data id="text" value="Niklas P Andersson" /> </componentData>
	<componentData id="f1">
		<data id="text" value="Developer" />
	</componentData>
	<componentData id="f2">
		<data id="text" value="Providing an example" />
	</componentData>
</templateData>

The node under each componentData is sent directly into the specified component. This makes it possible to provide completely custom data to templates. The data-nodes in this example is just the way the default CasparCG textfield wants its data. More information about this will be provided with the tools and ActionScript classes required to build your own templates.

A complete call to CG ADD (see below), correctly escaped and with the data above would look like this:

CG 1 ADD 0 "demo/test" 1 "<templateData><componentData id=\"f0\">
<data id=\"text\" value=\"Niklas P Andersson\">
</data> </componentData><componentData id=\"f1\">
<data id=\"text\" value=\"developer\">
</data></componentData><componentData id=\"f2\">
<data id=\"text\" value=\"Providing an example\"></data> </componentData></templateData>"

CG ADD

CG [video_channel:int]{-[layer:int]|-0} 
ADD [flash_layer:uint] [template:string] [play-on-load:0,1] [data]

Prepares a template for displaying. It won't show until you call CG PLAY (unless you supply the play-on-load flag, 1 for true). Data is either inline xml or a reference to a saved dataset.

Examples:

CG 1 ADD 10 svtnews/info 1

CG REMOVE

CG [video_channel:int]{-[layer:int]|-0} REMOVE [flash_layer:uint]

Removes the visible template from a specific layer.

CG CLEAR

CG [video_channel:int]{-[layer:int]|-0} CLEAR

Clears all layers and any state that might be stored. What this actually does behind the scene is to create a new instance of the Adobe Flash player ActiveX controller in memory.

CG PLAY

CG [video_channel:int]{-[layer:int]|-0} PLAY [flash_layer:uint]

Plays and displays the template in the specified layer.

CG STOP

CG [video_channel:int]{-[layer:int]|-0} STOP [flash_layer:uint]

Stops and removes the template from the specified layer. This is different than REMOVE in that the template gets a chance to animate out when it is stopped.

CG NEXT

CG [video_channel:int]{-[layer:int]|-0} NEXT [flash_layer:uint]

Triggers a "continue" in the template on the specified layer. This is used to control animations that has multiple discreet steps.

CG GOTO

Deprecated and replaced with CG INVOKE.

CG UPDATE

CG [video_channel:int]{-[layer:int]|-0} UPDATE [flash_layer:uint] [data:string]

Sends new data to the template on specified layer. Data is either inline xml or a reference to a saved dataset.

CG INVOKE

CG [video_channel:int]{-[layer:int]|-0} INVOKE [flash_layer:uint] [method:string]

Calls a custom method in the document class of the template on the specified layer. The method must return void and take no parameters.

Can be used to jump the playhead to a specific label.

Mixer Commands

MIXER KEYER

MIXER [video_channel:int]{-[layer:int]|-0} KEYER {keyer:0,1|0}

Replaces layer n+1's alpha channel with the R (red) channel of layer n, and hides the RGB channels of layer n. If keyer equals 1 then the specified layer will not be rendered, instead it will be used as the key for the layer above.

Examples:

MIXER 1-0 KEYER 1

MIXER CHROMA

MIXER [video_channel:int]{-[layer:int]|-0} CHROMA [color:none|green|blue] [threshold-lower:float] [threshold-upper:float]

Enables chroma keying on the specified video layer.

Examples:

>> MIXER 1-1 CHROMA green 0.10 0.20
>> MIXER 1-1 CHROMA none

MIXER BLEND

MIXER [video_channel:int]{-[layer:int]|-0} BLEND {[blend:string]|normal}

Every layer in the Mixer module can be set to a blend mode over than the default Normal mode, similar to applications like Photoshop. Some common uses are to use screen to make a all the black image data become transparent, or to use add to selectively lighten highlights.

Example:

MIXER 1-1 BLEND OVERLAY

See Blend Modes for supported values for blend.

MIXER OPACITY

MIXER [video_channel:int]{-[layer:int]|-0} VIDEO OPACITY [opacity:float] {[duration:uint] {[tween:string]|linear}|0 linear}

Changes the opacity of the specified layer. The value is a float between 0 and 1.

Examples:

>> MIXER 1-0 OPACITY 0.5 25 easeinsine

See Animation Types for supported values for tween.

MIXER BRIGHTNESS

MIXER [video_channel:int]{-[layer:int]|-0} BRIGHTNESS [brightness:float] {[duration:uint] {[tween:string]|linear}|0 linear}

Changes the brightness of the specified layer. The value is a float between 0 and 1.

Examples:

>> MIXER 1-0 BRIGHTNESS 0.5 25 easeinsine

See Animation Types for supported values for tween.

MIXER SATURATION

MIXER [video_channel:int]{-[layer:int]|-0} SATURATION [saturation:float] {[duration:uint] {[tween:string]|linear}|0 linear}

Changes the saturation of the specified layer. The value is a float between 0 and 1.

Examples:

>> MIXER 1-0 SATURATION 0.5 25 easeinsine

See Animation Types for supported values for tween.

MIXER CONTRAST

MIXER [video_channel:int]{-[layer:int]|-0} CONTRAST [contrast:float] {[duration:uint] {[tween:string]|linear}|0 linear}

Changes the contrast of the specified layer. The value is a float between 0 and 1.

Examples:

>> MIXER 1-0 CONTRAST 0.5 25 easeinsine

See Animation Types for supported values for tween.

MIXER LEVELS

MIXER [video_channel:int]{-[layer:int]|-0} LEVELS [min_input:float] [max_input:float] [gamma:float] [min_output:float] [max_output:float] {[duration:uint] {[tween:string]|linear}|0 linear}

Changes the contrast of the specified layer. The value is a float between 0 and 1.

Examples:

>> MIXER 1-0 LEVELS 0.1 0.1 1.0 0.9 0.9 25 easeinsine

See Animation Types for supported values for tween.

MIXER FILL

MIXER [video_channel:int]{-[layer:int]|-0} FILL [x:float] [y:float] [x-scale:float] [y-scale:float] {[duration:uint] {[tween:string]|linear}|0 linear}

Scales the video stream on the specified layer. The concept is quite simple; it comes from the ancient DVE machines like ADO. Imagine that the screen has a size of 1x1 (not in pixel, but in an abstract measure). Then the coordinates of a full size picture is 0 0 1 1, which means left edge is at coordinate 0, top edge at coordinate 0, width full size => 1, heigh full size => 1.

If you want to crop the picture on the left side (for wipe left to right) You set the left edge to full right => 1 and the width to 0. So this give you the start-coordinates of 1 0 0 1.

End coordinates of any wipe are allways the full picture 0 0 1 1.

With the FILL command it can make sense to have values between 1 and 0, if you want to do a smaller window. If, for instance you want to have a window of half the size of your screen, you set with and height to 0.5. If you want to center it you set left and top edge to 0.25 so you will get the arguments 0.25 0.25 0.5 0.5


  • x The left edge of the new fillSize, 0 = left edge of monitor, 0.5 = middle of monitor, 1.0 = right edge of monitor. Higher and lower values allowed.
  • y The top edge of the new fillSize, 0 = top edge of monitor, 0.5 = middle of monitor, 1.0 = bottom edge of monitor. Higher and lower values allowed.
  • x-scale The size of the new fillSize, 1 = 1x the screen size, 0.5 = half the screen size. Higher and lower values allowed.
  • y-scale The size of the new fillSize, 1 = 1x the screen size, 0.5 = half the screen size. Higher and lower values allowed.


Examples:

>> MIXER 1-0 FILL 0.25 0.25 0.5 0.5 25 easeinsine

See Animation Types for supported values for tween.

MIXER CLIP

MIXER [video_channel:int]{-[layer:int]|-0} CLIP [x:float] [y:float] [x-scale:float] [y-slace:float] {[duration:uint] {[tween:string]|linear}|0 linear}

Masks the video stream on the specified layer. The concept is quite simple; it comes from the ancient DVE machines like ADO. Imagine that the screen has a size of 1x1 (not in pixel, but in an abstract measure). Then the coordinates of a full size picture is 0 0 1 1, which means left edge is at coordinate 0, top edge at coordinate 0, width full size => 1, heigh full size => 1.

If you want to crop the picture on the left side (for wipe left to right) You set the left edge to full right => 1 and the width to 0. So this give you the start-coordinates of 1 0 0 1.

End coordinates of any wipe are allways the full picture 0 0 1 1.


  • x The left edge of the new clipSize, 0 = left edge of monitor, 0.5 = middle of monitor, 1.0 = right edge of monitor. Higher and lower values allowed.
  • y The top edge of the new clipSize, 0 = top edge of monitor, 0.5 = middle of monitor, 1.0 = bottom edge of monitor. Higher and lower values allowed.
  • x-scale The size of the new clipSize, 1 = 1x the screen size, 0.5 = half the screen size.
  • y-scale The size of the new clipSize, 1 = 1x the screen size, 0.5 = half the screen size.


Examples:

>> MIXER 1-0 CLIP 0.25 0.25 0.5 0.5 25 easeinsine

See Animation Types for supported values for tween.

MIXER VOLUME

Syntax:

MIXER [video_channel:int]{-[layer:int]|-0} VOLUME [volume:float] {[duration:uint] {[tween:string]|linear}|0 linear}

Changes the volume of the specified layer.


  • Examples:
>> MIXER 1-0 VOLUME 0.5 25 easeinsine

See Animation Types for supported values for tween.

MIXER MASTERVOLUME

Syntax:

MIXER [video_channel:int] MASTERVOLUME [volume:float]

Changes the volume of an entire channel.

  • Examples:
>> MIXER 1 MASTERVOLUME 0
>> MIXER 1 MASTERVOLUME 1
>> MIXER 1 MASTERVOLUME 0.5

MIXER STRAIGHT_ALPHA_OUTPUT

Syntax:

MIXER [video_channel:int] STRAIGHT_ALPHA_OUTPUT {active:0|1}

If enabled, causes RGB values to be divided with the alpha for the given video channel before the image is sent to consumers.

Examples:

>> MIXER 1 STRAIGHT_ALPHA_OUTPUT 1
>> MIXER 1 STRAIGHT_ALPHA_OUTPUT 0

MIXER CLEAR

Syntax:

MIXER [video_channel:int]{-[layer:int]|-0} CLEAR

Reset all transformations.


  • Examples:
>> MIXER 1 CLEAR
>> MIXER 1-1 CLEAR


MIXER GRID

MIXER [video_channel:int] GRID [resolution:uint] {[duration:uint] {[tween:string]|linear}|0 linear}

Creates a grid of video streams in ascending order of the layer index, i.e. if resolution equals 2 then a 2x2 grid of layers will be created.

Examples:

>> MIXER 1 GRID 2

See Animation Types for supported values for tween.


CHANNEL_GRID

CHANNEL_GRID

Opens a new channel and displays a grid with the contents of all the existing channels.

Thumbnail Commands

THUMBNAIL LIST

Lists all thumbnails.

Examples:

<< THUMBNAIL LIST
>> "AMB" 20130301T124409 1149
>> "foo/bar" 20130523T234001 244

Where the columns are filename, modified date and file size

THUMBNAIL RETRIEVE

THUMBNAIL RETRIEVE [filename:string]

Retrieves a thumbnail as a base64 encoded PNG-image.

Examples:

>> THUMBNAIL RETRIEVE foo/bar
<< iVBORw0KGgoAAAANSUhEUgAAAQAAAACQCAYAAADnY7WRAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA
<< pklEQVR4nO3BgQAAAADDoPlTX+AIVQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
<< AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
<< AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfANArgAB
<< XQri0gAAAABJRU5ErkJ==

THUMBNAIL GENERATE

THUMBNAIL GENERATE [filename:string]

Regenerate a thumbnail.

THUMBNAIL GENERATE_ALL

THUMBNAIL GENERATE_ALL

Regenerate all thumbnails.

Query Commands

CINF

CINF [filename:string]

Returns information about a media file. Return parameters: type (MOVIE, STILL or AUDIO), file size in bytes and date modified (YYYYMMDDHHMMSS.)


  • Examples:
>> CINF EXAMPLE
<< "example" MOVIE 4100882 20061117041444

CLS

CLS 

Lists all media files in the media folder. Use the command INFO PATHS to get the path to the media folder.

TLS

TLS {folder:string|./} 

Lists all templates in templates folder. Use the command INFO PATHS to get the path to the templates folder.

With the optional folder parameter, you can limit the results to a specified subfolder.

VERSION

Syntax:

VERSION {[component:SERVER,FLASH,TEMPLATEHOST]|SERVER}

Returns the version of specified component.

INFO

Syntax:

INFO ([channel:int]{-[layer:int]}|TEMPLATE [filename:string])


INFO Examples

INFO

Returns information about all the video formats and state (playing/stopped etcetera) of all current CasparCG channels.

  • Example:
>> INFO

1 720p5000 PLAYING
2 720p5000 PLAYING
3 576p2500 PLAYING


INFO 1

Returns information about CasparCG channel 1 and all its layers, including video formats and their state (playing/stopped etcetera.)


INFO 1-2

Returns information about layer 2 of CasparCG channel 1, including video formats and its state (playing/stopped etcetera.)


INFO 1-2 F

Returns information about the foreground of layer 2 of CasparCG channel 1.


INFO 1-2 B

Returns information about the background of layer 2 of CasparCG channel 1.


INFO 1 DELAY

Returns delay measurements for channel 1 (producers - mixer - consumers)


INFO 1-2 DELAY

Returns delay measurements for the producer running on channel 1 layer 2


INFO CONFIG

Returns the current casparcg.config file used last time CasparCG Server was started.


INFO PATHS

Returns information about the paths to the templates folder (Flash templates,) the media folder (videos and images,) and to the TemplateHost.


INFO SYSTEM

Returns information about the current hardware, the OS and version of libraries and the Flash Player.


INFO SERVER

Returns information about all the current CasparCG channels and consumers, based on the caspar.config file.

  • Example:
>> INFO SERVER

<?xml version="1.0" encoding="utf-8"?>
<channels>
   <channel>
       <video-mode>1080i5000</video-mode>
       <stage/>
       <mixer/>
       <output>
          <consumers>
             <consumer>
                 <type>decklink-consumer</type>
                 <key-only>false</key-only>
                 <device>1</device>
                 <low-latency>0</low-latency>
                 <embedded-audio>true</embedded-audio>
                 <low-latency>0</low-latency>
                 <index>301</index>
             </consumer>
         </consumers>
       </output>
       <index>1</index>
   </channel>
   <channel>
       <video-mode>576p2500</video-mode>
       <stage/>
       <mixer/>
       <output/>
       <index>2</index>
   </channel>
</channels>

STATUS

This command was deprecated with the release of CasparCG Server 2.0 and is replaced by INFO (above.)

DIAG

Syntax:

 DIAG

Opens the diagnostics window.

BYE

Syntax:

BYE

Disconnects from the server.

KILL

Syntax:

KILL

Shuts the server down.

RESTART

Syntax:

RESTART

Shuts the server down. But exits with return code 5 instead of 0. Intended for use in combination with casparcg_auto_restart.bat

Disk Consumer

Please see the Disk Consumer section for information about the commands used for recording output to disk.

Personal tools