实现环境:Ubuntu16.04
1.视频分帧
step1:在安装目录下打开终端,安装ffmpeg
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
step2: 在视频文件目录下打开终端,输入如下命令:
ffmpeg -i test.avi frames_%03d.jpg -hide_banner
其中,test.avi为待分帧视频;.jpg为分帧后的图片格式。
注:此外还有一种视频分帧的方法。
2.多帧合成视频
step1: 在安装目录下打开终端,安装ffmpeg
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
step2: 在帧图像文件的上级目录下打开终端,输入如下命令:
ffmpeg -f image2 -i /images/%d.jpg -vcodec libx264 -r 25 -b 200k test.mp4
注意:帧图像是按照%d.jpg的顺序读取的,这点需要和输入帧图像的名称对应。(比如:2.jpg、3.jpg)保险起见,名称最好从0开始。(比如:0.jpg、1.jpg...)
(1)-r 25 表示每秒播放25帧
扫描二维码关注公众号,回复:
2588860 查看本文章
(2)-b 200k 指定码率为200k
视频码率是数据传输时单位时间传送的数据单位
码率就是取样率,单位时间内取样率越大,精度就越高,做出来的文件就越接近原始文件但是文件体积与取样率是成正比的, 所以几乎所有的编码格式重视的都是如何用最低的码率达到最少的失真,围绕这个核心衍生出来的cbr(固定码率)与vbr(可 变 码率),都是在这方面做的文章,不过事情总不是绝对的,举例来看,对于一个音频,其码率越高,被压缩的比例越小,音质损失越小,与音源的音质越接近。
参考博客:https://blog.csdn.net/summermaoz/article/details/73098584