У меня работает следующая команда FFMPEG.

ffmpeg -y -i slide.mp4 -f lavfi -i "color=c=black:s=1920x1080:r=25:d=1" -filter_complex "[0:v] setpts=PTS-STARTPTS [main]; \
 [1:v] trim=end=3,setpts=PTS-STARTPTS [pre]; \
 [1:v] trim=end=3,setpts=PTS-STARTPTS [post]; \
 [pre][main][post] concat=n=3:v=1:a=0 [out]" -map "[out]" output.mp4

Он добавляет черные рамки в начале и конце видео. Однако выходной файл не содержит аудио из входного файла.

Любые указатели на проблему будут высоко оценены.

1 ответ1

2

Если вам нужен оригинальный звук с выходным файлом, вам подойдет следующее. Сопоставьте входной аудиоканал с выходом, используя опцию map .

-map 0:a -c:a copy

Вы можете сделать его более точным, добавив тихий аудиоклип к началу и концу видео с той же продолжительностью, что и длительность черного экрана. Таким же образом включите следующее в filter_complex .

aevalsrc=0:d=1[s];
[s][0:a][s]concat=n=3:v=0:a=1[outa];

Здесь я предположил, что длительность черного экрана равна 1 секунде. Тогда сопоставьте это.

-map [outa] -c:a libfdk_aac

Надеюсь, что это поможет вам!

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