ffmpeg 图片转视频

单图片转视频

先产生一个背景后,再做 overlay,这里需要注意一下分辨率的设置,视频源的分辨率要和图片分辨率一样;
ffmpeg -ss 0 -t 30 -f lavfi -i color=c=0x000000:s=1920x1080:r=30 -i ~/Desktop/test.png -filter_complex “[1:v]scale=1920:1080[v1];[0:v][v1]overlay=0:0[outv]” -map [outv] -c:v libx264 ~/Desktop/test.mp4 -y

ffmpeg -ss 0 -t 30 -f lavfi -i color=c=0x000000:s=1920x1080:r=30  -i ~/Desktop/test.png -filter_complex  "[1:v]scale=1920:1080[v1];[0:v][v1]overlay=0:0[outv]"  -map [outv] -c:v libx264 ~/Desktop/test.mp4 -y

为什么这么转,还 overlay 处理一下?因为直接转图片,默认是按25帧每秒转的,那么转出来的视频的时长只有40ms;视频时长太短了,没有意义;所以通过overlay 来转, 可以设置单图片的输出时长。

多图片转视频

多张图片组转视频

ffmpeg -f image2 -i ~/Desktop/images/image%d.jpg  -vcodec libx264  ~/Desktop/test.mp4 -y

图片按固定的帧率转视频

ffmpeg -f image2 -i ~/Desktop/images/image%d.jpg  -vcodec libx264  -r 10 ~/Desktop/test.mp4 -y

设置图片切换帧率为每秒一张图片

ffmpeg -r 1 -i ~/Desktop/%d.jpg -vf fps=1 -vcodec libx264 ~/Desktop/test.mp4 -y

你可能感兴趣的:(ffmpeg)