¿Hay buenos programas de edición de video con una interfaz de línea de comandos?

Actualmente estoy buscando un programa de edición de video que pueda controlar a través de la línea de comandos. La característica principal que necesito es la capacidad de agregar texto superpuesto. ¿Hay algo por ahí que pueda hacer esto?

Mi plataforma ideal sería Linux, pero estaría abierto a usar Windows u OSX si fuera necesario.

Respuestas (5)

FFmpeg ( wiki ) es una opción; puedes lograr lo que quieras con el filtro de subtítulos (ver también aquí ) o el filtro de dibujo de texto .

El filtro de subtítulos requiere que se compile con --enable-libassffmpeg y drawtext requiere que se compile con --enable-libfreetype. Si está en Linux, es bastante probable que lo primero sea el caso, aunque es posible que lo segundo no lo sea. Además, tenga cuidado de que Debian y sus derivados (incluido Ubuntu y otros) estén usando la herramienta bifurcada avconv, del proyecto libav (vea aquí un resumen de la situación); algunas personas han informado problemas con avconv vs ffmpeg. Recomendaría usar ffmpeg, principalmente porque parece haber más usuarios de ffmpeg que de avconv en la red SE, por lo que podrá obtener mejor ayuda aquí.

Si la versión en sus repositorios no está compilada para hacer esto, puede obtener una compilación estática del sitio web de FFmpeg , o puede compilarla usted mismo, siguiendo una de las guías en el wiki de ffmpeg , asegurándose de usar las banderas correctas.

Avisynth ( wiki ) es una aplicación basada en secuencias de comandos y, junto con los filtros, debería poder hacer el trabajo.

Relacionado, AvxSynth es un puerto Linux de AviSynth como AVISynth, aunque es muy poderoso (lo estaba aprendiendo anoche), es solo para Windows. Sin embargo, parece que podría hacer que se ejecute en WINE.

Si bien ffmpeg tiene capacidades de edición, no está diseñado específicamente para editar y no funciona como un NLE; toma entradas y produce salidas, en lugar de realizar ediciones no destructivas en múltiples archivos de origen.

Sin embargo, Melt , basado en el marco mlt que impulsa a kdenlive , está diseñado como un

"Poderoso, aunque algo oscuro, editor de video multipista orientado a la línea de comandos..."

Un comando de fusión puede hacer el mismo trabajo que la línea de tiempo en un NLE. Aquí hay un ejemplo de su sitio web que reproduce una colección editada de tomas de los archivos fuente a.dv, b.mpg y c.png:

$ melt a.dv in=50 out=100 b.mpg out=500 c.png out=500

También existe la capacidad de agregar efectos, y también puede crear ediciones como archivos XML.

¿Hay una compilación de Windows para Melt o es solo para Linux? Estuve buscando anoche una herramienta que estaba creando para realizar algunas ediciones automatizadas, pero terminé trabajando con AVISynth porque no pude encontrar una compilación de Windows. (Por supuesto, la plataforma ideal para esta pregunta en particular era Linux, por lo que esta es una gran respuesta).
Creo que es código fuente solo para Windows. Pero para los usuarios de Mac está disponible a través de hombrew (> brew install mlt).
@stib de acuerdo con la página de funciones, también está disponible en Windows a través de MinGW (y en Mac a través de Macports para aquellos sin homebrew).

Creé una herramienta CLI basada en Node.js multiplataforma para realizar ediciones de video simples. Es más obstinado y limitado que mlt, pero su objetivo es tener muchos componentes y transiciones fáciles de usar, y valores predeterminados sensatos.

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

También admite una especificación de edición más sofisticada como JSON y se puede llamar fácilmente desde JavaScript.

https://github.com/mifi/editly/

Hice un micromotor basado en FFMPEG de audio/video de bajo nivel de producción hace unos años:

https://github.com/costa/ffmprb

y lo he estado manteniendo desde entonces.

Tiene una interfaz de línea de comandos, con secuencias de comandos rudimentarias de Ruby requeridas en este momento, y estoy trabajando en un soporte FS + CLI más limpio.