File Creation from Caspar


I looked around a bit, but didn’t find anything especially relevant…

Has anyone used Caspar as a rendering engine to create rendered graphics files rather than live output?

Basically I’d build an HTML template that would take input, run the template and output it. In principle I believe it should be possible to take that stream into an FFMpeg Consumer and create, for example, a DNxHD185 video of the result (with alpha) to import into an NLE later.

I’ve not explored it at all. I imagine I’d have to create some sort of web interface to drive it - start the template, close off the FFMPEG output after the necessary time, etc…

Has anyone deployed anything like this? I’m just wondering what feedback people might have before I consider going this way.

Another option I’m working with is scripting or expressions in After Effects, but for the specific use case I need it’s a little less flexible than an HTML template would be.


Playing a template (html or flash) in casparcg and giving record command makes a file with alpha which can be imported into an NLE later. I tested it in server 2.1.
Command is

ADD 1 FILE  -codec:v qtrle



We are using Caspar as a render engine every day.



Have you found that recording HTML templates is a faster workflow than After Effects? Or is there a different benefit to creating and recording graphics with Caspar?


It depends. If you need to use the graphics live also, it’s very convenient. My weather system for instance is used both live and for recording files that are used for the web and in an edited show.

Keep in mind that you can do recording by adding a channel with no outputs so if the system is powerful enough you can do multiple renders at once by simple adding new channels and you will still have your regular channels available. You can also schedule recordings back to back on one channel.

If I had AMCP working from JS in CEF this could be fully automated within Caspar itself!


This could be done by setting up a Web Socket connection (TCP) from within the JS file and sending the commands to the server. Should be as simple as that right?

Then would you need a “master communication” layer that is always running and would handle all the recording schedules?

@dylanreeve, I wrote this NodeJS command line app, found here, that is designed to communicate between local graphics and a remote client via Web Sockets. Do you think it would be worth it to add recording start and stop support for your use case? Just sit balling a concept, it could either be trigger locally or remotely. DM me if you need some help setting up the CLI, I have’t added instructions yet.

I think both, recording and automation with JS files, could be a good sections in the CasparCG Guide re-work. @Soprani and @hreinnbeck, would you guys be willing to discuss how and why you setup your server’s the way you did with the rest of the team in the CasaprCG Slack work space?