FFmpeg从图像创buildvideo
ffmpeg -r 1/5 -start_number 2 -i img%03d.png -c:v libx264 -r 30 -pix_fmt yuv420p out.mp4
这行工作正常,但我想成为另一个文件夹的图像。 我的文件夹中的图像名称:
img001.jpg img002.jpg img003.jpg ...
如何从另一个文件夹中的图像? 例如:“C:\ mypics”
我试过这个代码,但ffmpeg只为第一个图像(img001.jpg)设置video。
ffmpeg -r 1/5 -start_number 0 -i C:\myimages\img%03d.png -c:v libx264 -r 30 -pix_fmt yuv420p out.mp4
请参阅从图像创buildvideo幻灯片 – FFmpeg
如果您的video不能正确显示帧如果遇到问题,如第一张图像被跳过或仅显示一帧,则使用fps video滤镜而不是-r作为输出帧率
ffmpeg -r 1/5 -i img%03d.png -c:v libx264 -vf fps=25 -pix_fmt yuv420p out.mp4
或者,可以将格式videofilter添加到过滤链中,以replace-pix_fmt yuv420p,如“fps = 25,format = yuv420p” 。 这种方法的好处是你可以控制哪个filter先行
ffmpeg -r 1/5 -i img%03d.png -c:v libx264 -vf "fps=25,format=yuv420p" out.mp4
我testing下面的参数,它为我工作
"e:\ffmpeg\ffmpeg.exe" -r 1/5 -start_number 0 -i "E:\images\01\padlock%3d.png" -c:v libx264 -vf "fps=25,format=yuv420p" e:\out.mp4
下面的参数也起作用,但它总是跳过第一个图像
"e:\ffmpeg\ffmpeg.exe" -r 1/5 -start_number 0 -i "E:\images\01\padlock%3d.png" -c:v libx264 -r 30 -pix_fmt yuv420p e:\out.mp4
从放置在不同文件夹中的图像制作video
首先将图像path添加到imagepaths.txt,如下所示。
# this is a comment details https://trac.ffmpeg.org/wiki/Concatenate file 'E:\images\png\images__%3d.jpg' file 'E:\images\jpg\images__%3d.jpg'
样品用法如下;
"h:\ffmpeg\ffmpeg.exe" -y -r 1/5 -f concat -safe 0 -i "E:\images\imagepaths.txt" -c:v libx264 -vf "fps=25,format=yuv420p" "e:\out.mp4"
安全0参数可以防止不安全的文件名错误
相关链接
FFmpeg从放置在不同文件夹中的图像制作video
FFMPEG中级指南/图像序列
连接 – FFmpeg
-pattern_type glob
这个很好的选项使得在许多情况下select图像变得更容易:
ffmpeg -framerate 1 -pattern_type glob -i '*.jpg' \ -c:v libx264 -r 30 -pix_fmt yuv420p out.mp4
但是请注意,尽pipe有这个名字,但这并不像shell模式一般,例如: -i '*'
失败: https : //trac.ffmpeg.org/ticket/3620 (显然是因为filetype是从扩展中推导出来的)。
-r 30
是为了克服像VLC这样的低帧率的玩家的错误: 使用ffmpeg在VLC中使用低fpsvideo来播放问题
也可以看看:
- http://trac.ffmpeg.org/wiki/Slideshow官方维基;
- https://superuser.com/questions/624567/ffmpeg-create-a-video-from-images SU上的类似问题
testing在ffmpeg 2.8.6,Ubuntu 16.04。