2

Я хотел бы добавить заставку к видео примерно на 5 секунд, но время может быть переменным. Я сделал 5 секунд во время intro.mkv с помощью следующей команды:

ffmpeg -loop 1 -f image2 -i png.png -c:v libx264 -t 5 out.mp4

Проблема в том, что cmd не знает следующую команду, которая именно то, что мне нужно. Эта команда скопирована из FAQ FFmpeg.

ffmpeg -i opening.mkv -i episode.mkv -i ending.mkv -filter_complex \ "[0:0] [0:1] [0:2] [1:0] [1:1] [1:2] [2:0] [2:1] [2:2] concat=n=3:v=1:a=2 [v] [a1] [a2]" \ -map '[v]' -map '[a1]' -map '[a2]' output.mkv

Ошибка: (2> output.txt по какой-то причине не работает)

2 ответа2

4

Это наложит ваше png вступительное изображение на видео со скоростью 25 кадров в секунду в течение 5 секунд, после чего в вашем видео появится 1-секундное затухание:

ffmpeg -itsoffset 5 -i in.mp4 -r 25 -loop 1 -i intro.png -filter_complex "[1:v] fade=out:125:25:alpha=1 [intro]; [0:v][intro] overlay [v]" -map "[v]" -map 0:a -acodec copy out.mp4

Если ваше видео не имеет 25 кадров в секунду, измените значение -r и цифры после fade (например, умножьте на 30/25, если ваше видео составляет 30 кадров в секунду). Чтобы изменить продолжительность вступления, измените -itsoffset и первый номер после fade . Если вы хотите, чтобы оно показывало изображение со звуком в начале видео (вместо первых нескольких секунд видео), вы можете уменьшить или исключить параметр -itsoffset , то есть время, в течение которого видео будет сдвигаться вперед. освободить место для вступления.

Конечно, вы можете использовать любой поддерживаемый формат видео для ваших входных и выходных файлов, а также можете добавить любые другие параметры кодирования видео, которые вы хотите использовать перед именем выходного файла. Если вам нужно перекодировать аудио, измените -acodec copy если необходимо, например, на -acodec libfdk_aac -vbr 3 .

0

Сначала создайте свой видеофайл из вашего изображения; Вы хотите 5 секунд на изображение? это означает 0,2 изображения в секунду:

ffmpeg -i intro.png -r 0.2 intro.mkv

Затем вы можете смешать его с вашим основным фильмом, используя ffmpeg (или mkvmerge если они все Matroska).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .