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)生成了一个视频。
ffmpeg -r 1/5 -start_number 0 -i C:\myimages\img%03d.png -c:v libx264 -r 30 -pix_fmt yuv420p out.mp4
见Create a video slideshow from images – FFmpeg
如果您的视频没有正确显示帧如果遇到问题,例如跳过第一个图像或仅显示一帧,则使用fps视频过滤器而不是-r作为输出帧速率
ffmpeg -r 1/5 -i img%03d.png -c:v libx264 -vf fps=25 -pix_fmt yuv420p out.mp4
或者,可以将格式视频过滤器添加到过滤器链中以替换-pix_fmt yuv420p,如“fps = 25,format = yuv420p”。此方法的优点是您可以控制首先使用哪个过滤器
ffmpeg -r 1/5 -i img%03d.png -c:v libx264 -vf "fps=25,format=yuv420p" out.mp4
我测试了以下参数,它对我有用
"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
从放置在不同文件夹中的图像制作视频
首先,将图像路径添加到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"
-safe 0参数可防止出现不安全的文件名错误
相关链接
FFmpeg making a video from images placed in different folders
-pattern_type glob
这个很棒的选项使得在许多情况下更容易选择图像。
幻灯片视频每秒一张图片:
ffmpeg -framerate 1 -pattern_type glob -i '*.png' \
-c:v libx264 -r 30 -pix_fmt yuv420p out.mp4
以下是YouTube上的一个演示,其中还添加了音乐:https://www.youtube.com/watch?v=_6D05gCWh_I
正常速度的视频,每帧一幅图像,30 FPS:
ffmpeg -framerate 30 -pattern_type glob -i '*.png' \
-c:v libx264 -pix_fmt yuv420p out.mp4
将一个音乐文件转换为带有固定图像的视频,用于YouTube上传:https://superuser.com/questions/700419/how-to-convert-mp3-to-youtube-allowed-video-format/1472572#1472572
以下是一些合成测试输入图像:
wget -O opengl-rotating-triangle.zip https://github.com/cirosantilli/media/blob/master/opengl-rotating-triangle.zip?raw=true
unzip opengl-rotating-triangle.zip
cd opengl-rotating-triangle
生成的图像:How to use GLUT/OpenGL to render to a file?
很容易观察到视频压缩图像序列的方式比ZIP更好,因为它能够使用专门的算法压缩帧:
opengl-rotating-triangle.mp4
:340K您的图像当然应按字母顺序排序,通常如下:
opengl-rotating-triangle.zip
等等。
但请注意,尽管名称为0001-first-thing.jpg
0002-second-thing.jpg
0003-and-third.jpg
,但这并不像shell Glob图案那样通用,例如:-glob
失败:-i '*'
(显然是因为文件类型是从扩展中推断出来的)。
https://trac.ffmpeg.org/ticket/3620制作-r 30
视频30 FPS以克服低帧速率的VLC等播放器中的错误:-framerate 1
因此它重复每帧30次以保持每秒所需的1个图像效果。
也可以看看:
接下来,您还需要:
ffmpeg -i in.mp3 -ss 03:10 -to 03:30 -c copy out.mp3
https://superuser.com/questions/277642/how-to-merge-audio-and-video-file-in-ffmpeg测试ffmpeg 3.4.4,vlc 3.0.3,Ubuntu 18.04。
ffmpeg -framerate 24 -i Project%03d.png Project.mp4
来自cat *.png | ffmpeg -f image2pipe -i - output.mp4