CasparCG generates fill and key for each output channel. That fill and key can be output as two signals for use in an external mixer/keyer, or be combined with background content using the keyer present in some models of decklink card. CasparCG also supports NDI output of the fill and key.
CasparCG works in layers, combining one or more layers to create the channel output. The sources for each layer can be full frame moving video or stills, video or stills with alpha channel, or character generator style content. The character generation requires user-provided templates that define the layout design. The design is combined with instance data sent by some form of client. Examples of instance data include a name and job title, a list of swimmers in the lanes of a pool, or stock-market prices. CasparCG server uses HTML to define the behaviour of the template. The server also includes a powerful mixer engine that can modify the look, transparency size and position of each layer.
There is no built-in template editor. The end-user decides how to create the templates for their system. Methods include manually created HTML plus Javascript coding, using a visual edit tool plus Javascript add ins, or using an external template generator such as loopic. See loopic.io for more details of this generator.
Based on the posts in this forum people running CasparCG on a linux box use Ubuntu, but I lack the knowledge to say if CasparCG can be run on Red Hat.
The look and feel of CasparCG on Windows and Linux hosts is identical. CasparCG uses a client server architecture. The client program sends simple text commands to the server to control it’s operation. A very simple command to play a video called WorldNewsTitles.mov is:
PLAY 1-10 WorldNewsTitles
If there is also a video file called WorldNewsTitles_a.mov this file is used as the alpha channel for the main fill content.
The detail of the command protocol, called AMCP, is available at the CasparCG wiki here.
A deployed CasparCG system requires the server package and one or more client packages. SVT created a visual client that can create, edit and replay sequences of commands. Events in the SVT client can be triggered manually or using OSC (Open Sound Control) messages. The SVT client can also emit OSC messages and HTTP PUT/GET messages to either control other kit directly or via user provided middleware.
Many users have created custom clients for specific operational needs, and some of the clients are available to other users. See the client links on the Wiki.
You can also directly control CasparCG using Stream Deck combined with BitFocus Companion software.
There is an overview of the CasparCG system describing the server and SVT client functions availble here on Github.