Я пытаюсь объединить 15-секундный клип видео (MOVIE.mp4
) с 5 секундами (без звука) изображения (IMAGE.jpg
), используя FFmpeg
.
Что-то кажется Неправильно с моим фильтром, хотя я не могу определить, что. Собранная мною команда выглядит следующим образом:
ffmpeg \
-loop 1 -t 5 -I IMAGE.jpg \
-t 15 -I MOVIE.mp4 \
-filter_complex "[0:v]scale=480:640[1_v];anullsrc[1_a];[1:v][1:a][1_v][1_a]concat=n=2:v=1:a=1[out]" \
-map "[out]" \
-strict experimental tst_full.mp4
К сожалению, это, кажется, приводит к некоторым странным результатам:
На моем персональном компьютере (FFmpeg 4.2.1
) он правильно объединяет mov ie с изображением stati c; однако изображение stati c сохраняется неограниченное время. (После ввода ctrl-C
mov ie все еще отображается, но имеет очень большую длину - например, 35 минут - в зависимости от того, когда я прерываю процесс.)
На удаленной машине, где мне нужно выполнить окончательную обработку видео (FFmpeg 2.8.15-0ubuntu0.16.04.1
), команда не завершается, и вместо этого я получаю каскадные ошибки следующего вида:
Past duration 0.611458 too large
...
[output stream 0:0 @ 0x21135a0] 100 buffers queued in output stream 0:0, something may be wrong.
...
[output stream 0:0 @ 0x21135a0] 100000 buffers queued in output stream 0:0, something may be wrong.
Мне не удалось найти много документации, объясняющей, что означают эти ошибки, поэтому я не знаю, что происходит не так.