How to automatically enrich a video stream with dynamic overlay (text, images, ...) In my company, we are currently looking for a solution to enrich a given video stream (which is being broadcasted via RTMP) from a remote webcam with some dynamic information, such as current date/time, special measure values which are available on a server, or the most recent entries in a database. 

Basically we want to achieve a simple, dynamic on-screen display, as - for example - TV stations are using. The modified stream should then be restreamed, for example to be viewed in VLC Player or on YouTube.

So far, I came up with the following ideas:


Using OBS with some own scripts and plugins - that's disadvantageous because we would like to run the solution on a high-network performance server 24/7 without a GUI. Basically I'd need a fully command-line based version of OBS.
Using FFmpeg: I know that there are text filters available, but they are mainly static (or periodically polling a file with text) and don't allow for any design adjustments other than font, font size and color. It would be great if there was some way of overlaying a Webkit browser view onto the stream, because this would allow us to design the overlays in HTML5 and CSS and using WebSocket technology for updating the data.
The overlay could be captured with PhantomJS, but how should we unify it with the stream and would it be fast enough to render 30 FPS?


Are there additional (preferably open source) tools we could use? What would be the best strategy to implement this without buying expensive TV broadcasting software?
Have a look at CasparCG. It should be able to do what you want.

An alternative would be to create something using MLT and, say, Python, but that requires some programming, though it should be mostly assembling modules together.