Video Bench is a tool that makes it easy to compare transcoded video files with a reference file (source)
- Calculates VMAF and PSNR scores for test files
- Find the real video bitrate (size of the frames and not the size of the packets)
- Give a by seconds or by frames views
- Works with almost all video codecs (mpeg2, H264, HEVC, VP9, ...)
- No need to uncompress the video files
- Can synchronize tests files with reference file
- Choose automatically the right deinterlace filter for the reference file depending of the test file
- Automatically scale the test files for matching the reference file
- Automatically choose the right VMAF model (standard or 4k) depending of the reference file
- Generate a JSON files compiling all the infos
- Can export in PNG all graphics (with configurable resolution)
- Easy to install (need Docker and Python3 with the pyside2 library)
- Run on Linux, Mac and windows
- Has a GUI
- Can be used in commande line
sudo usermod -a -G docker $USER
sudo apt-get install python3
sudo apt-get install python3-pip
pip3 install pyside2
brew install python3
brew install python3-pip
pip3 install pyside2
For be able to use Docker on windows you need to have Windows 10 64bit Pro, Enterprise or Education
Install python3 Don't forget to click on "add python to PATH"
pip install pyside2
Download or clone the repo
cd videobench
docker build -t docker-videobench -f ./Dockerfile ./
Run the GUI
python3 videobench_ui.py
or on windows
python videobench_ui.py
- You can choose one reference file (Original Video) and multiple tests files (Compressed Videos)
- If your tests files are not synchronize with the reference file you can set the sync time in seconds.
- If your not sure about what sync time is excately the right one, you can set a sync windows. The analyzer will try to find the best sync time, starting by the sync time set and seraching in that windows.
- Click on the start button for start the analyze, when it's done the information and the graph will be showed in the GUI.
- I recommend doing measurements on short durations files (max 30 seconds), because the computation times can be quite long.
- Generate the quality information can take some time, but when it's done all the information will be save in JSON files in the same folder than the video files.
- You can directly import the JSON files in the GUI by using the "Import Measurements" button.
For more information read the article on VideoBench
example :
python3 videobench.py -ref ref_files.mp4 -i test_file1.mp4 test_file2.mp4 test_file2.mp4 -sync -0.1 -sw 0.2
help :
python3 videobench.py -h