FFMPEG - Можете ли вы наложить часть видео на пару изображений? - PullRequest
6 голосов
/ 12 августа 2011

Мне нужно добавить оверлей видео, и мне было интересно, есть ли простой способ сделать это с FFMPEG.

У меня есть набор изображений (баннер и портрет), которые я хотел бы наложить на нижнюю часть моего видео на часть продолжительности видео. Например, примерно через 5 секунд я бы хотел, чтобы наложение появилось, а затем примерно за 5 секунд до конца видео я бы хотел, чтобы наложение исчезло.

Возможно ли это с помощью параметров командной строки FFMPEG?

Ответы [ 4 ]

4 голосов
/ 14 августа 2011

С наложением изображений в FFMpeg с использованием командной строки, безусловно, самый мощный и элегантный способ сделать это - с помощью инструмента AVISynth .

Вот несколько простых примеров, один из которых накладывает одно видео поверх другого (наложение изображения является подмножеством этого):http://avisynth.org/mediawiki/Script_examples

Вы можете задаться вопросом, какого черта это инструмент?Вот как это работает концептуально:

Сначала вы создаете простой текстовый документ со специальными командами, называемыми скриптом.Эти команды делают ссылки на одно или несколько видео и фильтры, которые вы хотите запустить на них.Затем вы запускаете видео приложение, такое как FFMPeg, и передаете файл сценария в командной строке.Это когда AviSynth принимает меры.Он открывает видео, на которые вы ссылаетесь в сценарии, запускает указанные фильтры и передает вывод в видеоприложение.Приложение, однако, не знает, что AviSynth работает в фоновом режиме.Вместо этого приложение считает, что оно непосредственно открывает отфильтрованный файл AVI, который находится на вашем жестком диске.

То, что вам нужно, очень просто с AVISynth, но оно может масштабироваться для создания видео, такого как этот сайт, где многиефотографии, текст и эффекты размещаются на видео.Все видео на этом сайте созданы с помощью FFMpeg и AVISynth: http://www.hdgreetings.com

Может показаться немного по-другому, но как только вы получите один простой скрипт, вы сразу поймете, что это один из лучших когда-либо видеоинструментов.создано.И это бесплатно, конечно.

0 голосов
/ 22 августа 2017

FFMPEG может накладывать изображения на видео в любое время видео.

ffmpeg -i video -i image1 -i image2 -i image3
 -filter_complex
    "[0][1]overlay=x=X:y=Y:enable='between(t,23,27)'[v1];
     [v1][2]overlay=x=X:y=Y:enable='between(t,44,61)'[v2];
     [v2][3]overlay=x=X:y=Y:enable='gt(t,112)'[v3]"
-map "[v3]" -map 0:a  out.mp4

Пожалуйста, проверьте этот пост для получения более подробной информации: FFMPEG - Возможно ли наложение нескольких изображений на видео через определенные интервалы?

0 голосов
/ 14 августа 2011

В зависимости от того, какую платформу вы используете, вы можете просто воспроизвести видео, а затем создать его как окно X с изображением поверх видео. Во время воспроизведения видео вы можете использовать ffmpeg для записи окна X с видео, воспроизводимым на заднем плане, и изображением на переднем плане.

Это полный взлом, но я выкидываю его туда.

0 голосов
/ 14 августа 2011

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

Поскольку вам все равно придется распаковывать видео, вы можете использовать ffmpeg для создания RAW-изображений на диск, накладывать изображения с помощью некоторой утилиты (простое приложение на c # сделает это),и используйте ffmpeg для создания другого видео с желаемыми (или такими же, как у исходного) параметрами.

Для наложения вы, вероятно, можете использовать GIMP: http://www.gimp.org/tutorials/Basic_Batch/, поскольку это кроссплатформенный инструмент, который можно использоватьв пакетном режиме (командной строке).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...