本文主要是介绍利用ffmpeg把视频分解成图片(每秒x张图)再图片合成视频,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1. 视频分解成图片
ffmpeg -i rawVideo.mp4 -r 5 -f image2 img/%04d.png-i rawVideo.mp4 输入文件
-r 5 每秒5帧(1秒5张图) 可不写,默认每秒24帧
-f image2 表示输出的格式图像 可不写,默认图像
img/ 图片放在img文件夹下
%04d.png 图片的命名格式,例如0001.png 0001.png 0003.png如何查看原视频的帧数:ffmpeg -i rawVideo.mp4
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 9779 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
其中30fps为每秒30帧
2. 图片合成视频(有字幕、无声音)
ffmpeg -i img/%04d.png out.mp4
或者
ffmpeg -f image2 -i img/%04d.png -vcodec libx264 -r 5 out.mp4-i img/%04d.mp4 输入文件(当前路径下的img文件夹,命名格式是%04d.png的图片)
out.mp4 输出视频文件
-f image2 表示输出的格式图像 可不写,默认图像
-vcodec libx264 指定编码格式
-r 5 指定每秒5帧系统默认可能无法播放打开新视频,最好用PotPlayer软件播放
新视频与原视频对比:
新视频时长是原视频的1/5,原因是帧数从30fps改为5fps
如何做到视频有声呢
提供思想:
a.提取原视频声音(只能提取到正常语速,不能通过改变帧数改变语速)
b.根据视频默认fps提取图片(否则声音与视频合成不对口)
c.利用图片合成无声视频
d.无声视频与原声音合成视频
参考博客:利用ffmpeg从视频中提取纯(音频、视频、字幕)再合成视频
这篇关于利用ffmpeg把视频分解成图片(每秒x张图)再图片合成视频的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!