我正在使用FFMPEG执行以下两项操作:
要从图像创建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)
答案 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