Answers.Body: <p>Have a look at <a href="https://www.casparcg.com/" rel="nofollow noreferrer"><code>CasparCG</code></a>. It should be able to do what you want.</p>
  
  <p>An alternative would be to create something using <a href="https://www.mltframework.org/" rel="nofollow noreferrer"><code>MLT</code></a> and, say, Python, but that requires some programming, though it should be mostly assembling modules together.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-09-10T14:13:05.640Z
Answers.LastActivityDate: 2017-09-10T14:40:45.560Z
Answers.LastEditDate: 2017-09-10T14:40:45.560Z
Answers.UserDisplayName: odinho - Velmont
Body: <p>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. </p>
  
  <p>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.</p>
  
  <p>So far, I came up with the following ideas:</p>
  
  <ul>
  <li><p>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.</p></li>
  <li><p>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.</p></li>
  <li><p>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?</p></li>
  </ul>
  
  <p>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?</p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2016-11-19T18:48:54.427Z
Comments.Text: Look into [zmq filter](https://ffmpeg.org/ffmpeg-filters.html#zmq_002c-azmq).
Comments.UserDisplayName: llogan
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-06-24T14:51:54.743Z
Comments.Text: Any more info on this? I asked a similar question recently but I'm not getting any answers sadly
Comments.UserDisplayName: Liam Martens
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2020-03-15T21:30:57.617Z
Comments.Text: The studio version of DaVinci Resolve is $300, and includes Fusion and Python 2,3, and Lua scripting.  I'm not a software engineer, and never took a programming class in school, but I managed to figure out how to get an RSS parser to update and auto-upload a daily youtube video.
Comments.UserDisplayName: Jason Conrad
Tags: <video><ffmpeg><streaming>
Title: How to automatically enrich a video stream with dynamic overlay (text, images, ...)
UserDisplayName: hg.m
ThreadText: # How to automatically enrich a video stream with dynamic overlay (text, images, ...)
  
  (Asked by: username_0 on 2016-11-18)
  
  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?
  
  **Tags:** video, ffmpeg, streaming
  
  > **Comments:**
  > **username_1**: Look into [zmq filter](https://ffmpeg.org/ffmpeg-filters.html#zmq_002c-azmq).  
  > **username_2**: Any more info on this? I asked a similar question recently but I'm not getting any answers sadly  
  > **username_3**: The studio version of DaVinci Resolve is $300, and includes Fusion and Python 2,3, and Lua scripting.  I'm not a software engineer, and never took a programming class in school, but I managed to figure out how to get an RSS parser to update and auto-upload a daily youtube video.  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_4 on 2017-09-10. Score: 2
  
  Have a look at [`CasparCG`](https://www.casparcg.com/). It should be able to do what you want.
  
  An alternative would be to create something using [`MLT`](https://www.mltframework.org/) and, say, Python, but that requires some programming, though it should be mostly assembling modules together.
  
  
  ---
  
  