FFMPEG Concat Dropping Frames

时间:2015-03-16 19:19:51

标签: video ffmpeg concat

我正在使用FFMPEG执行以下两项操作:

  • 根据一组图片创建一个mp4
  • 编译mp4s以创建更长的视频(mp4)

要从图像创建mp4,我使用以下命令:

ffmpeg -r 5 -i 'img%03d.jpg' output.mp4

据我所知,这会创建一个帧速率为5fps的视频。

但是当我尝试编译mp4s时,似乎每个mp4中的帧都被删除了。

为了创建已编译的素材,我创建了一个文本文件,指向应该包含在编译中的所有mp4,例如。

file 'set1/output.mp4'
file 'set2/output.mp4'
file 'set3/output.mp4'
file 'set4/output.mp4'
file 'set5/output.mp4'
file 'set6/output.mp4'
file 'set7/output.mp4'

然后我运行以下命令:

ffmpeg -f concat -i input.txt -codec copy compilation.mp4

结果视频似乎从每个输出视频中删除2-3帧。

如何确保已编译的视频不会丢弃任何帧?

(作为参考,我使用了以下教程:https://trac.ffmpeg.org/wiki/Concatenate

1 个答案:

答案 0 :(得分:1)

我能够使用以下教程找到解决方法:

FFmpeg making video from images placed in different folders

我可以指向应该编译成最终视频文件的所有图像资源,而不是编译mp4。

我创建了一个如下所示的文本文件:

file 'set1/img%03d.jpg'
file 'set2/img%03d.jpg'
file 'set3/img%03d.jpg'
file 'set4/img%03d.jpg'
file 'set5/img%03d.jpg'
file 'set6/img%03d.jpg'
file 'set7/img%03d.jpg'

每个set文件夹包含命名约定为img001.jpg,img002.jpg等的图像

然后我可以使用以下命令将所有图像编译成最终视频:

ffmpeg -f concat -r 5 -i input.txt compilation.mp4