Файлы ffmpeg mp4 не воспроизводятся до конца

Файлы ffmpeg mp4 не воспроизводятся до конца

Я создал mp4 из изображений и аудиофайлов с помощью этой команды ffmpeg:

ffmpeg -y -i tmp/part1/frame0.png -i tmp/part1/audio0.mp3 -i tmp/part1/frame1.png -i tmp/part1/audio1.mp3 -i tmp/part1/pause0.5.mp3 -shortest -filter_complex "[1:0][4:0]concat=n=2:v=0:a=1[a1];[3:0][4:0]concat=n=2:v=0:a=1[a3];[0:0][a1][2:0][a3]concat=n=2:v=1:a=1[outv][outa]" -map "[outv]" -map "[outa]" -vcodec libx264 -qp 0 tmp/part1/out.mp4

Это создает видео с 2 кадрами и звуковой дорожкой. Однако, каким-то образом, при воспроизведении этого видео в VLC, последний кадр не отображается, а при загрузке на YouTube, длина видео отображается неправильно.

Как мне избежать этой ошибки? Есть ли простое решение?

решение1

Зацикливайте изображения в течение ограниченного времени (меньше, чем аудиофрагменты).

ffmpeg -y
  -loop 1 -t 2 -i tmp/part1/frame0.png
  -i tmp/part1/audio0.mp3
  -loop 1 -t 2  -i tmp/part1/frame1.png
  -i tmp/part1/audio1.mp3
  -i tmp/part1/pause0.5.mp3
  -shortest
  -filter_complex "[1:0][4:0]concat=n=2:v=0:a=1[a1];
                   [3:0][4:0]concat=n=2:v=0:a=1[a3];
                   [0:0][a1][2:0][a3]concat=n=2:v=1:a=1[outv][outa]"
  -map "[outv]" -map "[outa]" -vcodec libx264 -qp 0 tmp/part1/out.mp4

Связанный контент