<p><a href="http://sourceforge.net/projects/avisynth2/" rel="noreferrer">Avisynth</a> (<a href="http://avisynth.org/mediawiki/Main_Page" rel="noreferrer">wiki</a>) is a script-driven app and in conjunction with filters should be able to do the work.</p>

CC BY-SA 3.0
2014-03-12T13:46:27.167Z
Related, AvxSynth is a Linux port of AviSynth as AVISynth, while very powerful (I was just learning it last night.), is Windows only.  It does appear you might be able to get it to run in WINE though.
AJ Henderson
CC BY-SA 3.0
2013-03-22T08:06:20.693Z
2013-03-22T08:06:20.693Z
Gyan
<p>While ffmpeg has editing capabilities it is not specifically designed for editing, and it does not work like an NLE; it takes input(s) and produces output(s), instead of doing non-destructive edits on multiple source files. </p>

<p><a href="http://www.mltframework.org/bin/view/MLT/MltMelt" rel="nofollow">Melt</a> however, based on the <a href="http://www.mltframework.org/" rel="nofollow">mlt framework</a> which powers <a href="http://www.kdenlive.org/" rel="nofollow">kdenlive</a>, is designed as a </p>

<blockquote>
  <p>"powerful, if somewhat obscure, multitrack command line oriented video
  editor…"</p>
</blockquote>

<p>A melt command can do the same job as the timeline in a NLE. Here's an example from their website that plays an edited collection of shots from the source files a.dv, b.mpg and c.png:</p>

<pre><code>$ melt a.dv in=50 out=100 b.mpg out=500 c.png out=500
</code></pre>

<p>There is also the capability add effects, and you can also create edits as XML files.</p>

CC BY-SA 3.0
2014-03-12T13:44:05.733Z
Is there a windows build for Melt or is it Linux only?  I was looking at it last night for a tool I've been building to do some automated editing, but ended up working with AVISynth because I couldn't find a Windows build.  (Granted, the ideal platform for this particular question was Linux, so this is a great answer.)
AJ Henderson
CC BY-SA 3.0
2014-03-13T03:24:14.877Z
I think it's source-code only for windows. But for mac users it's available via hombrew (>brew install mlt).
stib
CC BY-SA 3.0
2014-03-13T16:10:45.663Z
@stib according to the [features page](http://www.mltframework.org/bin/view/MLT/Features) it's also available on Windows through [MinGW](http://www.mingw.org/) (and on Mac through Macports for those without homebrew).
Saaru Lindestøkke
CC BY-SA 3.0
2014-03-12T11:04:25.303Z
2014-03-12T11:04:25.303Z
stib
<p>I created a cross-platform Node.js based CLI tool for making simple video edits. It is more opinionated and limited than <code>mlt</code>, but it aims to have lots of easy to use components and transitions, and sane default values.</p>

<pre><code>editly \
  title:'My video' \
  clip1.mov \
  clip2.mov \
  title:'My slideshow' \
  img1.jpg \
  img2.jpg \
  title:'THE END' \
  --audio-file-path /path/to/music.mp3
</code></pre>

<p>It also supports a more sophisticated edit spec as JSON and can easily be called from JavaScript.</p>

<p><a href="https://github.com/mifi/editly/" rel="nofollow noreferrer">https://github.com/mifi/editly/</a></p>

CC BY-SA 4.0
2020-04-22T13:18:11.363Z
2020-04-22T13:18:11.363Z
Mikael Finstad
<p>I made a production-grade low-level audio/video FFMPEG-based micro-engine a few years back:</p>
<p><a href="https://github.com/costa/ffmprb" rel="nofollow noreferrer">https://github.com/costa/ffmprb</a></p>
<p>and I've been maintaining it since.</p>
<p>It has a command-line interface -- with rudimentary Ruby scripting required at the moment, and I'm working on a cleaner FS+CLI support.</p>

CC BY-SA 4.0
2020-10-18T12:39:14.393Z
2020-10-18T12:39:14.393Z
Costa Shapiro
<p><a href="https://ffmpeg.org/" rel="nofollow noreferrer">FFmpeg</a> (<a href="http://ffmpeg.org/trac/ffmpeg/wiki" rel="nofollow noreferrer">wiki</a>) is one option; you can achieve what you want either with the <a href="http://ffmpeg.org/trac/ffmpeg/wiki/How%20to%20burn%20subtitles%20into%20the%20video" rel="nofollow noreferrer">subtitles filter</a> (see also <a href="https://ffmpeg.org/ffmpeg-filters.html#subtitles-1" rel="nofollow noreferrer">here</a>) or the <a href="https://ffmpeg.org/ffmpeg-filters.html#drawtext-1" rel="nofollow noreferrer">drawtext filter</a>.</p>

<p>The subtitles filter requires ffmpeg to be compiled with <code>--enable-libass</code> and drawtext requires it to be compiled with <code>--enable-libfreetype</code>. If you're on Linux, the former is fairly likely to be the case, though the latter may not be. Also, beware than Debian and its derivatives (including Ubuntu et al) are using the forked tool avconv, from the libav project (see <a href="https://stackoverflow.com/questions/9477115/who-can-tell-me-the-difference-and-relation-between-ffmpeg-libav-and-avconv/9477756#9477756">here</a> for a summary of the situation); some people have reported problems with avconv vs ffmpeg. I would recommend using ffmpeg, mainly because there seem to be more ffmpeg users than avconv users on the SE network, so you'll be able to get better help here.</p>

<p>If the version in your repos is not compiled to do these, you can grab a static build <a href="https://ffmpeg.org/download.html" rel="nofollow noreferrer">from the FFmpeg website</a>, or you can compile it yourself, <a href="http://ffmpeg.org/trac/ffmpeg/wiki/CompilationGuide" rel="nofollow noreferrer">following one of the guides on the ffmpeg wiki</a>, making sure to use the correct flags.</p>

CC BY-SA 3.0
2013-03-22T14:59:50.890Z
2013-03-22T14:59:50.890Z
2017-05-23T12:40:36.170Z
evilsoup
<p>I am currently looking for a video editing program which I can control via the command line. The main feature I need is the ability to add some overlay text. Is there anything out there that can do this?</p>

<p>My ideal platform would be Linux, but I would be open to using Windows or OSX if need be.</p>

<video><software-recommendation>
Are there any good video editing programs with a command line interface?
Giles
# Are there any good video editing programs with a command line interface?

(Asked by: username_0 on 2013-03-22)

I am currently looking for a video editing program which I can control via the command line. The main feature I need is the ability to add some overlay text. Is there anything out there that can do this?

My ideal platform would be Linux, but I would be open to using Windows or OSX if need be.

**Tags:** video, software-recommendation


---

## 5 answers

### Answer by username_7 on 2013-03-22. Score: 5 | Accepted answer

[FFmpeg](https://ffmpeg.org/) ([wiki](http://ffmpeg.org/trac/ffmpeg/wiki)) is one option; you can achieve what you want either with the [subtitles filter](http://ffmpeg.org/trac/ffmpeg/wiki/How%20to%20burn%20subtitles%20into%20the%20video) (see also [here](https://ffmpeg.org/ffmpeg-filters.html#subtitles-1)) or the [drawtext filter](https://ffmpeg.org/ffmpeg-filters.html#drawtext-1).

The subtitles filter requires ffmpeg to be compiled with `--enable-libass` and drawtext requires it to be compiled with `--enable-libfreetype`. If you're on Linux, the former is fairly likely to be the case, though the latter may not be. Also, beware than Debian and its derivatives (including Ubuntu et al) are using the forked tool avconv, from the libav project (see [here](https://stackoverflow.com/questions/9477115/who-can-tell-me-the-difference-and-relation-between-ffmpeg-libav-and-avconv/9477756#9477756) for a summary of the situation); some people have reported problems with avconv vs ffmpeg. I would recommend using ffmpeg, mainly because there seem to be more ffmpeg users than avconv users on the SE network, so you'll be able to get better help here.

If the version in your repos is not compiled to do these, you can grab a static build [from the FFmpeg website](https://ffmpeg.org/download.html), or you can compile it yourself, [following one of the guides on the ffmpeg wiki](http://ffmpeg.org/trac/ffmpeg/wiki/CompilationGuide), making sure to use the correct flags.


---

### Answer by username_1 on 2013-03-22. Score: 5

[Avisynth](http://sourceforge.net/projects/avisynth2/) ([wiki](http://avisynth.org/mediawiki/Main_Page)) is a script-driven app and in conjunction with filters should be able to do the work.

> **Comments:**
> **username_2**: Related, AvxSynth is a Linux port of AviSynth as AVISynth, while very powerful (I was just learning it last night.), is Windows only.  It does appear you might be able to get it to run in WINE though.  

---

### Answer by username_3 on 2014-03-12. Score: 3

While ffmpeg has editing capabilities it is not specifically designed for editing, and it does not work like an NLE; it takes input(s) and produces output(s), instead of doing non-destructive edits on multiple source files. 
Melt however, based on the mlt framework which powers kdenlive, is designed as a 

"powerful, if somewhat obscure, multitrack command line oriented video
  editor…"

A melt command can do the same job as the timeline in a NLE. Here's an example from their website that plays an edited collection of shots from the source files a.dv, b.mpg and c.png:
$ melt a.dv in=50 out=100 b.mpg out=500 c.png out=500

There is also the capability add effects, and you can also create edits as XML files.

> **Comments:**
> **username_2**: Is there a windows build for Melt or is it Linux only?  I was looking at it last night for a tool I've been building to do some automated editing, but ended up working with AVISynth because I couldn't find a Windows build.  (Granted, the ideal platform for this particular question was Linux, so this is a great answer.)  
> **username_3**: I think it's source-code only for windows. But for mac users it's available via hombrew (>brew install mlt).  
> **username_4**: @username_3 according to the [features page](http://www.mltframework.org/bin/view/MLT/Features) it's also available on Windows through [MinGW](http://www.mingw.org/) (and on Mac through Macports for those without homebrew).  

---

### Answer by username_5 on 2020-04-22. Score: 2

I created a cross-platform Node.js based CLI tool for making simple video edits. It is more opinionated and limited than mlt, but it aims to have lots of easy to use components and transitions, and sane default values.
editly \
  title:'My video' \
  clip1.mov \
  clip2.mov \
  title:'My slideshow' \
  img1.jpg \
  img2.jpg \
  title:'THE END' \
  --audio-file-path /path/to/music.mp3

It also supports a more sophisticated edit spec as JSON and can easily be called from JavaScript.
https://github.com/mifi/editly/


---

### Answer by username_6 on 2020-10-18. Score: 1

I made a production-grade low-level audio/video FFMPEG-based micro-engine a few years back:

<https://github.com/costa/ffmprb>

and I've been maintaining it since.

It has a command-line interface -- with rudimentary Ruby scripting required at the moment, and I'm working on a cleaner FS+CLI support.


---

