mac下FFmpeg繼承VMAF

vmaf是一款視頻質量評估工具,簡單說,就查看轉碼處理後的受損視頻對比原視頻,視頻質量打分是多少。

vmaf目前最新版本是v1.5.1, 工程基於python3。 而本文使用的是vmaf v1.3.4, 因爲ffmpeg不支持vmaf v1.5.1,強行編譯會報錯,具體參看https://github.com/Netflix/vmaf/issues/174

當然如果你不集成到ffmpeg,只是單純使用vmaf,那麼可以用vmaf v1.5.1的版本。

已測試ffmpeg3.3.9及以下的版本不支持libvmaf,故直接使用ffmpeg 4.0以上的版本

本文使用vmaf v1.3.4, 這個版本的工程是基於python2的,我的電腦環境是mac,到官網下載python2.7.15版本安裝。安裝完以後python版本會自動寫到bash_profile 

控制檯輸入python -V 和pip -V, 請確保都是python2環境的打印

python環境裝好以後,下載vmaf, git clone 也行,但是不推薦這種方式,直接下載https://github.com/Netflix/vmaf/archive/v1.3.4.tar.gz 即可。

然後

brew install numpy scipy 

pip install --upgrade pip      用於更新pip
pip install matplotlib notebook pandas sympy nose scikit-learn h5py
pip install Pillow 

然後

cd vmaf
git submodule update --init --recursive

 

export PYTHONPATH= 你的 vmaf path/python/src: 你的vmaf path /sureal/python/src>> ~/.bash_profile
source ~/.bash_profile

確保你的vmaf下有sureal這個文件夾

然後
make
make install

測試vmaf:
./run_vmaf yuv420p 576 324 python/test/resource/yuv/src01_hrc00_576x324.yuv python/test/resource/yuv/src01_hrc01_576x324.yuv --out-fmt json
 

上面的使用需要yuv,很麻煩,vmaf提供了ffmpeg2vmaf的方式,./ffmpeg2vmaf 540 960 /Users/bixinwei/test/jsy.flv /Users/bixinwei/test/jsy_500.flv --out-fmt json >/Users/bixinwei/test/out.json
不需要yuv

新建vmaf/python/src/vmaf/externals.py 里加一行 ffmpeg 路徑:
FFMPEG_PATH = "你的ffmpeg可執行文件的路徑"

測試ffmepg2vmaf

./ffmpeg2vmaf 540 960 /Users/bixinwei/test/jsy.flv /Users/bixinwei/test/jsy_500.flv --out-fmt json >/Users/bixinwei/test/out.json
 

這個測試文件是我本機的,jsy.flv是原視頻,jsy_500.flv是轉碼後視頻(受損視頻)

 

 

 

下面用ffmpeg4.0.2集成libvmaf v1.3.4 

./configure --prefix=/usr/local/ffmpeg --enable-libvmaf --disable-doc --enable-ffmpeg --disable-ffplay --disable-ffprobe --enable-pic --enable-gpl --enable-version3 --enable-nonfree --enable-libx264 --enable-libfdk_aac --enable-libmp3lame
make
make install

x264,fdk-aac,mp3lame這些執行的時候,缺啥就brew install 啥就行。注意brew默認安裝都是最新版本,而ffmpeg4.0.2不支持fdk-aac高版本,故安裝fdk-aac要降級,使用v0.1.4版本可行。brew 安裝指定版本參看https://www.jianshu.com/p/aadb54eac0a8。或自己編譯一個fdk-aac v0.1.4也行。

最後測試:

/usr/local/ffmpeg/bin/ffmpeg -i /Users/bixinwei/test/jsy_500.flv -i /Users/bixinwei/test/jsy.flv -lavfi libvmaf -f null -

 

 

參考鏈接:

https://testerhome.com/topics/11888

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章