Linux下的ffmpeg计算vmaf指标

安装ffmpeg

下载ffmpeg安装包

在命令行窗口中,依次执行如下两条语句即可

wget https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-amd64-static.tar.xz
wget https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-amd64-static.tar.xz.md5
检查安装包的完整性

执行如下语句

md5sum -c ffmpeg-git-amd64-static.tar.xz.md5

执行后,安装包完整则输出下面的内容

ffmpeg-git-amd64-static.tar.xz: OK
解压ffmpeg安装包
tar xvf ffmpeg-git-amd64-static.tar.xz
检查ffmpeg是否安装成功

执行如下语句

./ffmpeg-git-20210611-amd64-static/ffmpeg

若输出下图的结果,则ffmpeg安装成功

图1
截止目前,已经完成了ffmpeg的安装,但是只能局部调用(即只能在当前路径下调用),下面的操作就是让所安装的ffmpeg能够全局调用;

查看PATH环境变量

在命令行中输入echo $PATH,输出如下(每台电脑的输出可能不同):
/usr/local/bin:/usr/bin:/home/vqe/bin
这里的含义在其他路径下(上面提到的当前路径之外)调用ffmpeg时,电脑首先会在/usr/local/bin/路径下去找是否存在ffmpeg;如果没有,则再去/usr/bin/路径下找,依次类推。

设置ffmpeg为全局调用

下面的命令是把ffmpeg放在第一个搜索路径下

sudo mv /ffmpeg-git-20210611-amd64-static/ffmpeg /ffmpeg-git-20210611-amd64-static/ffprobe /usr/loal/bin/

然后,命令行中执行whereis ffmpeg,则会输出ffmpeg: /usr/local/bin/ffmpeg

安装ffmpeg_quality_metrics

安装ffmpeg_quality_metrics需要满足python的版本为3.6以上(包含3.6),然后执行如下语句,则可以完成安装

pip3 install ffmpeg_quality_metrics

使用ffmpeg计算vmaf

完成ffmpegffmpeg_quality_metrics的安装后,执行如下命令则可以计算失真视频dis.mp4和原始视频ref.mp4之间的vmaf

ffmpeg_quality_metrics dis.mp4 ref.mp4 -m vmaf --model-path /usr/local/ffmpeg_quality_metrics/vmaf_model/vmaf_v0.6.1.pkl

这里的模型vmaf_v0.6.1.pkl是可以从github工程ffmpeg-quality-metrics获得,强调一下我把下载得到的工程放到了路径/usr/local/下,大家可以根据自己模型vmaf_v0.6.1.pkl的绝对路径来确定**–model-path**后面的参数。正常情况下,应该就能够正确输出vmaf的值了,下面看一种特殊情况

特殊情况

如果执行计算vmaf的命令后,出现如下图所示:

图2
解决办法是去下载原版的vmaf-master工程。下载完成后,解压。下面这步操作有可能不需要执行,视自己的实际情况而定:
进入./vmaf-master/路径下,输入make,然后按回车键

上面的操作完成后,在执行计算vmaf指令时,输入下面的指令

ffmpeg_quality_metrics dis.mp4 ref.mp4 -m vmaf --model-path /usr/local/vmaf-master/model/vmaf_float_v0.6.1.pkl

则解决这种情况下的报错,输出正常的vmaf值。实际上,这条命令就是把 –model-path 指定为工程 vmaf-master 中模型vmaf_float_v0.6.1.pkl的绝对路径。

PS

这是本人在查找ffmpeg如何计算vmaf指标时,找到的一些资料,以及遇到的问题和对应的解决方案。本人对这一块也不是特别熟悉,如果有技术大佬有便捷的计算方法,或者本博客有不正确的地方,欢迎在评论区中指出。

参考

[1] https://github.com/slhck/ffmpeg-quality-metrics.
[2] https://github.com/Netflix/vmaf.
[3] https://www.johnvansickle.com/ffmpeg/faq/.

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值