Answers.Body: <p>You can use <a href="http://ffmpeg.org" rel="nofollow noreferrer">ffmpeg</a> to do something like this programmatically. It has the capability to composite and edit footage as well as adding effects and text. It is a command line app, so works in the shell of your choice on Linux/Mac/Windows. <a href="http://multimedia.cx/eggs/googles-youtube-uses-ffmpeg/" rel="nofollow noreferrer">Youtube reputedly uses ffmpeg to process their videos</a>, so it's safe to say that it's very widely adopted. FFMPEG is free and open source. This is probably your best bet.</p>
  
  <p><a href="https://helpx.adobe.com/after-effects/using/scripts.html" rel="nofollow noreferrer">Adobe After Effects</a> can also be controlled completely programmatically using the Extendscript language. After Effects is an industry standard video effects tool, used for everything from web banners to Hollywood movies. While it has more capabilities than ffmpeg, it is mainly designed as a GUI application, and the API really needs a good understanding of the application to use, meaning that developers are probably fairly hard to find. It is available from Adobe through Creative Cloud membership.</p>
  
  <p>Coding the solution is another option. Rather than re-invent the wheel you could look at one of the frameworks that exist for creative coding. One of the most popular is <a href="http://processing.org" rel="nofollow noreferrer">Processing</a>; it's a programming language designed for creative use, based on Java. Although not specifically focussed on video it does have the capability to process video, and could add text and effects to video content. Similar tools exist for other languages, for example <a href="https://openframeworks.cc/" rel="nofollow noreferrer">OpenFrameworks</a>, which uses C++, and <a href="https://nannou.cc/" rel="nofollow noreferrer">Nannou</a>, a relative newcomer which uses rust. To use them you will need programming skills, but a lot of the heavy lifting has been done in terms of things like graphics and video, meaning you can work at a higher level.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-11-17T11:50:18.820Z
Answers.Text: I would have suggested ffmpeg but the linked video has man places where the name is stylized and has effects/perspective/blending modes applied. Would be a real chore to do it with ffmpeg.
Answers.UserDisplayName: Gyan
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-11-18T10:01:20.887Z
Answers.Text: True. But probably do-able.
Answers.UserDisplayName: stib
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2016-11-17T11:40:13.380Z
Answers.LastActivityDate: 2020-01-31T00:07:01.423Z
Answers.LastEditDate: 2020-01-31T00:07:01.423Z
Answers.UserDisplayName: stib
Body: <p>this <a href="http://www.bartatwork.com/personalized-video/" rel="nofollow noreferrer">article</a> shows an impressive implementation of how to programmatically personalize video. </p>
  
  <blockquote>
    <p>"Everybody received their ‘own’ version of the video."</p>
  </blockquote>
  
  <p>How would I realize a similar solution? Which programming language would I use, which libraries, services are available to achieve a similar application on a web server?</p>
  
  <p>Curious to see you answers!</p>
  
Tags: <video><after-effects><video-editor><editing><after-effects-scripting>
Title: How to programmatically personalize video?
UserDisplayName: Alex
ThreadText: # How to programmatically personalize video?
  
  (Asked by: username_0 on 2016-11-14)
  
  this [article](http://www.bartatwork.com/personalized-video/) shows an impressive implementation of how to programmatically personalize video.
  
  > "Everybody received their ‘own’ version of the video."
  
  How would I realize a similar solution? Which programming language would I use, which libraries, services are available to achieve a similar application on a web server?
  
  Curious to see you answers!
  
  **Tags:** video, after-effects, video-editor, editing, after-effects-scripting
  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2016-11-17. Score: 3
  
  You can use [ffmpeg](http://ffmpeg.org) to do something like this programmatically. It has the capability to composite and edit footage as well as adding effects and text. It is a command line app, so works in the shell of your choice on Linux/Mac/Windows. [Youtube reputedly uses ffmpeg to process their videos](http://multimedia.cx/eggs/googles-youtube-uses-ffmpeg/), so it's safe to say that it's very widely adopted. FFMPEG is free and open source. This is probably your best bet.
  
  [Adobe After Effects](https://helpx.adobe.com/after-effects/using/scripts.html) can also be controlled completely programmatically using the Extendscript language. After Effects is an industry standard video effects tool, used for everything from web banners to Hollywood movies. While it has more capabilities than ffmpeg, it is mainly designed as a GUI application, and the API really needs a good understanding of the application to use, meaning that developers are probably fairly hard to find. It is available from Adobe through Creative Cloud membership.
  
  Coding the solution is another option. Rather than re-invent the wheel you could look at one of the frameworks that exist for creative coding. One of the most popular is [Processing](http://processing.org); it's a programming language designed for creative use, based on Java. Although not specifically focussed on video it does have the capability to process video, and could add text and effects to video content. Similar tools exist for other languages, for example [OpenFrameworks](https://openframeworks.cc/), which uses C++, and [Nannou](https://nannou.cc/), a relative newcomer which uses rust. To use them you will need programming skills, but a lot of the heavy lifting has been done in terms of things like graphics and video, meaning you can work at a higher level.
  
  > **Comments:**
  > **username_2**: I would have suggested ffmpeg but the linked video has man places where the name is stylized and has effects/perspective/blending modes applied. Would be a real chore to do it with ffmpeg.  
  > **username_1**: True. But probably do-able.  
  
  ---
  
  