1 ffmpeg安装
无论是有权限的大佬,还是我这种没有权限的渣渣。我全部推荐直接解压release版本的安装方法。最新的ffmpeg版本已经包括了libvmaf其他的各种编译或者用权限安装的,我都试过,最后还是发现直接解压release版本太方便了
1.1 下载release包
下载地址:https://johnvansickle.com/ffmpeg/
我使用的ubantu18下载的是里面的 ffmpeg-release-amd64-static.tar.xz 。建议翻墙下载,不然速度以K计算
1.2 解压缩
tar -xvf ffmpeg-release-amd64-static.tar.xz
1.3 设置环境变量
export PATH=/your/ffmpeg/path/:$PATH
参考
该命令是临时修改环境变量(应该吧?!)所以还可以修改~/.bashrc永久设置环境变量
##1.4 测试可行
命令行输入ffmpeg -version
正常显示版本和可使用的库。应该会直接有 --enable-libvmaf,这样就说明ffmpeg可是正常使用vmaf啦
2 ffmpeg 使用
先说一下常用参数:
-i: 输入文件
-r: 帧数
-f: 图像格式
-y:对输出文件进行不询问覆盖
参考 感谢
2.1 截取视频片段
#对in.mp4 裁取第30秒到第60秒的视频,保存为clip.mp4
ffmpeg -i in.mp4 -vcodec copy -acodec copy -ss 00:00:30 -to 00:01:00 clip.mp4 -y
也可以设定截取时间, -t 10表示持续10秒
ffmpeg -i in.mp4 -vcodec copy -acodec copy -ss 00:00:30 -t 10 clip.mp4 -y
2.2 精准截取视频
这种方式不重新编码
ffmpeg -ss [start] -t [duration] -accurate_seek -i [in].mp4 -codec copy -avoid_negative_ts 1 [out].mp4
更更精准的截取可以对视频重新编码
ffmpeg -ss [start] -t [duration] -i [in].mp4 -c:v libx264 -c:a aac -strict experimental -b:a 98k [out].mp4
具体内容详见知乎
2.2 降质
ffmpeg -i clip.mp4 -vf scale=640:360 clip_lQ.mp4 -hide_banner
#将图像降质为尺寸640x360的视频
2.3 将视频帧保存为图片
ffmpeg -i clip.mp4 -r 30 -f image2 ./video1/%05d.png
#图片保存在video1文件夹内,命名为00001.png格式
2.4 将图像保存为视频
ffmpeg -i video1/HoKmini_Num24%d.png -r 30 -f image2 -vcodec libx264 rebuild1.mp4 -y
#将video中图像以H264格式,30帧编码成视频
ffmpeg -r 25 -f image2 -s 3840x2160 -i building_gaussian_test/%05d.png -vcodec libx265 -vtag hvc1 -crf 25 -pix_fmt yuv420p building_test.mp4 -y
-s 引入尺寸 -crf 视频质量,越低质量越高