Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/JNoDuq/videobench
VMAF PSNR Bitrate Analyzer
https://github.com/JNoDuq/videobench
Last synced: 7 days ago
JSON representation
VMAF PSNR Bitrate Analyzer
- Host: GitHub
- URL: https://github.com/JNoDuq/videobench
- Owner: JNoDuq
- Created: 2019-05-28T20:00:08.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-07-18T09:43:25.000Z (4 months ago)
- Last Synced: 2024-08-02T16:00:46.042Z (3 months ago)
- Language: Python
- Size: 89.8 KB
- Stars: 230
- Watchers: 10
- Forks: 45
- Open Issues: 31
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-video - videobench - VMAF PSNR Bitrate Analyzer. (Analysis tools)
README
# VideoBench (VMAF PSNR Bitrate Analyzer)
## Abstract
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![Video Bench](https://user-images.githubusercontent.com/10562413/60960089-a6cd0d00-a309-11e9-81a7-ca8655547e7d.png)
## How to install
### Install prerequisites on Linux
#### Install Docker
[Install Docker](https://docs.docker.com/)
#### Make sure you can run a docker container
```
sudo usermod -a -G docker $USER
```#### Install python3
```
sudo apt-get install python3
```#### Install pyside2
```
sudo apt-get install python3-pip
pip3 install pyside2
```### Install prerequisites on Mac OS
#### Install Docker
[Install Docker](https://docs.docker.com/)
#### Install python3
```
brew install python3
```#### Install pyside2
```
brew install python3-pip
pip3 install pyside2
```### Install prerequisites on Windows
#### Install Docker
For be able to use Docker on windows you need to have Windows 10 64bit Pro, Enterprise or Education
[Install Docker](https://docs.docker.com/)
#### Install python3
[Install python3](https://www.python.org/downloads/windows/)
Don't forget to click on "add python to PATH"#### Install pyside2
```
pip install pyside2
```### Create docker container
Download or clone the repo
```
cd videobench
docker build -t docker-videobench -f ./Dockerfile ./
```## How to use it
### Using the GUI
Run the GUI
```
python3 videobench_ui.py
```
or on windows```
python videobench_ui.py
```![Video Bench GUI overview](https://user-images.githubusercontent.com/10562413/57775395-35b01580-771d-11e9-910a-0eb53eea5959.png)
* 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](https://jnduquesne.medium.com/video-bench-how-measure-your-video-quality-easily-85a0feb8f6e2)
### Using the command line
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
```