Вы можете сделать простое наложение изображения, используя следующий синтаксис:
ffmpeg -i input.mp4 -i image.png \
-filter_complex "[0:v][1:v] overlay=25:25:enable='between(t,0,20)'" \
-pix_fmt yuv420p -c:a copy \
output.mp4
overlay=25:25
означает, что мы хотим расположить изображение на 25 пикселей вправо и на 25 пикселей вниз, начиная с верхнего левого угла (0: 0).
enable='between(t,0,20)'
означает, что мы хотим, чтобы изображение показывалось между секундами 0 и 20.
[0:v][1:v]
означает, что мы хотим, чтобы первый видеофайл, который мы импортируем -i
, в нашем случае input.mp4 или то, как ffmpeg видит его как входной видеофайл с номером 0, находится под входным видеофайлом 1, в нашем случае image.png. :v
просто означает, что мы хотим видео 0 и видео 1. [0:a]
означало бы, что мы хотим первую импортированную звуковую дорожку. Который также будет взят из input.mp4, но будет указывать на аудиодорожку вместо видеодорожки в файле mp4.
Если вы хотите получить определенное качество / настройки изображения, а не настройки, которые выбирает ffmpeg, добавьте опции кодирования изображения и / или аудио, которые вы хотите использовать. Кодером видео по умолчанию будет x264. Проверьте руководство по кодированию H.264 для возможных настроек.
-acodec copy
/ -c:a copy
Что у вас есть в вашей команде Fe будет просто повторно использовать звук из исходного файла. Хотя вы, конечно, не можете сделать это с видео (в данном случае), его необходимо перекодировать, потому что мы создаем новый источник видео.
Если вы хотите перекодировать аудио, удалите -c:a copy
часть. Возможно, вам придется явно указать кодировщик, например -c:a aac -strict experimental
. См. Руководство по кодированию AAC для получения дополнительной информации.