Есть ли хорошие программы для редактирования видео с интерфейсом командной строки?

В настоящее время я ищу программу для редактирования видео, которой я могу управлять через командную строку. Основная функция, которая мне нужна, — это возможность добавлять наложенный текст. Есть ли что-нибудь, что может это сделать?

Моей идеальной платформой был бы Linux, но при необходимости я готов использовать Windows или OSX.

Ответы (5)

FFmpeg ( вики ) — один из вариантов; вы можете добиться того, чего хотите, либо с помощью фильтра субтитров (см. также здесь ), либо с помощью фильтра drawtext .

Фильтр субтитров требует, чтобы ffmpeg был скомпилирован с помощью ffmpeg, --enable-libassа drawtext требует, чтобы он был скомпилирован с --enable-libfreetype. Если вы работаете в Linux, первое, скорее всего, будет иметь место, а второе может и не быть. Кроме того, будьте осторожны, поскольку Debian и его производные (включая Ubuntu и др.) используют разветвленный инструмент avconv из проекта libav (см. здесь краткое изложение ситуации); некоторые люди сообщали о проблемах с avconv и ffmpeg. Я бы порекомендовал использовать ffmpeg, главным образом потому, что в сети SE больше пользователей ffmpeg, чем пользователей avconv, так что здесь вы сможете получить лучшую помощь.

Если версия в вашем репозитории не скомпилирована для этого, вы можете получить статическую сборку с веб-сайта FFmpeg или скомпилировать ее самостоятельно, следуя одному из руководств на вики ffmpeg , убедившись, что используете правильные флаги.

Avisynth ( вики ) — это приложение, управляемое сценариями, и в сочетании с фильтрами оно должно выполнять свою работу.

Связано это с тем, что AvxSynth — это порт AviSynth для Linux, как и AVISynth, хотя и очень мощный (я только изучал его прошлой ночью), но только для Windows. Похоже, вы могли бы заставить его работать в WINE.

Хотя ffmpeg имеет возможности редактирования, он не предназначен специально для редактирования и не работает как NLE; он принимает входные данные и производит выходные данные вместо того, чтобы выполнять неразрушающее редактирование нескольких исходных файлов.

Однако Melt , основанный на фреймворке mlt, на котором работает kdenlive , спроектирован как

"мощный, хотя и несколько неясный, многодорожечный видеоредактор, ориентированный на командную строку..."

Команда плавления может выполнять ту же работу, что и временная шкала в NLE. Вот пример с их веб-сайта, который воспроизводит отредактированную коллекцию снимков из исходных файлов a.dv, b.mpg и c.png:

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

Существует также возможность добавлять эффекты, и вы также можете создавать правки в виде XML-файлов.

Есть ли сборка Windows для Melt или только для Linux? Вчера вечером я искал инструмент, который я создавал для автоматического редактирования, но в итоге работал с AVISynth, потому что не смог найти сборку для Windows. (Конечно, идеальной платформой для этого конкретного вопроса был Linux, так что это отличный ответ.)
Я думаю, что это исходный код только для окон. Но для пользователей Mac это доступно через hombrew (> brew install mlt).
@stib согласно странице функций, он также доступен в Windows через MinGW (и на Mac через Macports для тех, у кого нет доморощенного).

Я создал кроссплатформенный инструмент командной строки на основе Node.js для простого редактирования видео. Он более самоуверен и ограничен, чем mlt, но стремится иметь множество простых в использовании компонентов и переходов, а также разумные значения по умолчанию.

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

Он также поддерживает более сложную спецификацию редактирования, такую ​​как JSON, и может быть легко вызван из JavaScript.

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

Несколько лет назад я сделал серийный низкоуровневый аудио/видео микродвижок на основе FFMPEG:

https://github.com/costa/ffmprb

и я поддерживал его с тех пор.

У него есть интерфейс командной строки — в настоящее время требуются элементарные сценарии Ruby, и я работаю над более чистой поддержкой FS + CLI.