Pulsar-VMAF is a fixed functional hardware accelerator leveraging Xilinx Alveo Cards to offer the highest computational efficiency for VMAF Video Quality Metric. It can be used to optimize the encoding ladder and to monitor video in real-time to help maintain consistent quality for all frames.
Vendor: BLUEDOT
Last Update: Sept 10, 2021
Size: 743 MB
Container version: hubxilinx/bluedot_pulsar-vmaf-u50
Obtain an entitlement to evaluate or purchase this product.
Begin a free trial and run the application example below.
This application is containerized and can be easily run in a few minutes in the cloud, or on-premises
| On Premises | |
|---|---|
| Alveo U50 View & Buy Product |
|
| Cloud Service | |
|---|---|
| AWS |
|
Follow the instructions based on your deployment method.
Create and download the cred.json file from the Xilinx App store (https://appstore.xilinx.com/).
The Xilinx Runtime (XRT) host application is supported on Ubuntu 16.04 /18.04 and CentOS 7.x. With sudo access, use the following command to download and run the setup script:
Note : This flow assumes only one target card installed in your system and it is installed in slot "0".
git clone https://github.com/Xilinx/Xilinx_Base_Runtime.git && cd Xilinx_Base_Runtime
./host_setup.sh -v 2020.2 -p alveo-u50
Note:
With sudo access, use the following command to run the utility script to install docker.
cd Xilinx_Base_Runtime/utilities
./docker_install.sh
Enter the following commands in a terminal window to run the application:
source Xilinx_Base_Runtime/utilities/xilinx_docker_setup.sh
docker pull hubxilinx/bluedot_pulsar-vmaf-u50
docker run -v /tmp/cred.json:/app/cred.json -v /dev/shm:/data -w /app $XILINX_DOCKER_DEVICES hubxilinx/bluedot_pulsar-vmaf-u50
"-i 2160_dst.mp4 -vsync 0 -i 2160.mp4 -vsync 0 -lavfi libbdvmaf=model_path=vmaf_4k_v0.6.1.json:kernel_path=u50_binary.xclbin:coreno=1:log_path=/data/test.log -f null –”
Description of command arguments:
-v /tmp/cred.json:/app/cred.json - Map local cred.json dir : container dir-v /dev/shm:/data - Map the local dir : container dir for the generated output file$XILINX_DOCKER_DEVICES - Environment variable set by the host setup scriptVMAF score for each frame is reported "/dev/shm/test.log“
No ,VMAF_SCORE, ADM, MPCD, VIF0, VIF1, VIF2, VIF3
1, 100.000000, 0.999393, -0.013368, 1.000000, 1.000000, 1.000000, 1.000000
2, 100.000000, 0.999393, -0.013368, 1.000000, 1.000000, 1.000000, 1.000000
3, 100.000000, 0.999393, -0.013368, 1.000000, 1.000000, 1.000000, 1.000000
4, 100.000000, 0.999393, -0.013368, 1.000000, 1.000000, 1.000000, 1.000000
5, 100.000000, 0.999393, -0.013368, 1.000000, 1.000000, 1.000000, 1.000000
6, 100.000000, 0.999393, -0.013368, 1.000000, 1.000000, 1.000000, 1.000000
7, 100.000000, 0.999393, -0.013368, 1.000000, 1.000000, 1.000000, 1.000000
8, 100.000000, 0.999393, -0.013368, 1.000000, 1.000000, 1.000000, 1.000000
9, 100.000000, 0.999393, -0.013368, 1.000000, 1.000000, 1.000000, 1.000000
10, 100.000000, 0.999393, -0.013368, 1.000000, 1.000000, 1.000000, 1.000000
11, 100.000000, 0.999393, -0.013368, 1.000000, 1.000000, 1.000000, 1.000000
12, 100.000000, 0.999393, -0.013368, 1.000000, 1.000000, 1.000000, 1.000000
13, 100.000000, 0.999393, -0.013368, 1.000000, 1.000000, 1.000000, 1.000000
14, 100.000000, 0.999393, -0.013368, 1.000000, 1.000000, 1.000000, 1.000000
15, 100.000000, 0.999393, -0.013368, 1.000000, 1.000000, 1.000000, 1.000000
16, 97.566488, 0.989950, 0.016739, 0.966534, 0.971284, 0.966479, 0.956362
17, 95.701617, 0.955964, 0.047799, 0.920853, 0.968059, 0.976636, 0.980954
18, 91.206519, 0.915715, 0.047799, 0.888859, 0.950970, 0.964046, 0.972741
19, 89.406490, 0.900099, 0.044391, 0.864948, 0.941914, 0.958319, 0.969590
20, 87.550198, 0.884437, 0.044391, 0.851716, 0.933523, 0.950860, 0.964334
21, 88.349822, 0.890306, 0.036409, 0.844602, 0.937484, 0.956597, 0.969954
22, 87.973880, 0.902339, 0.036409, 0.831304, 0.921736, 0.936173, 0.943120
23, 89.972499, 0.910653, 0.029094, 0.836976, 0.935244, 0.953273, 0.966493
An access key is required to authenticate a user and grant them access to the application based on their entitlements. To obtain your account access key, follow these steps:
Note: The resulting access key will enable all entitlements within your account. If you have not yet obtained entitlements from the "TRY OR BUY" section above, you must do so before following these steps for generating your access key.'
If you want to try it with multiple instances of ffmpeg simultaneously, you can choose f1.4xlarge or f1.16xlarge.
The Pulsar-VMAF provides two cores per device.
Click "Review and Launch" button at the bottom of page.
Click "Lauch button" at the Review path
Select an existing key pair or create a new key pair then save it as pem file for ssh suck like "aws.pem".
```bash
ssh -i aws.pem centos@<public_ip_address>
```
You can find the public IP address of instance in the EC2 console.
```bash
git clone https://github.com/Xilinx/Xilinx_Base_Runtime.git
source Xilinx_Base_Runtime/utilities/xilinx_aws_docker_setup.sh
```
**AWS FPGA**
```bash
git clone https://github.com/aws/aws-fpga.git
cd aws-fpga/
source vitis_runtime_setup.sh
cd ..
```
**Docker**
```bash
sudo Xilinx_Base_Runtime/utilities/docker_install.sh
```
```bash
sudo docker run -v /var/tmp:/var/tmp -v /opt:/opt -v /${HOME}/cred.json:/app/cred.json -v ${PWD}/data:/data -w /app $XILINX_AWS_DOCKER_DEVICES hubxilinx/bluedot_pulsar-vmaf-aws-f1:latest "-i 2160_dst.mp4 -vsync 0 -i 2160.mp4 -vsync 0 -lavfi libbdvmaf=model_path=vmaf_4k_v0.6.1.json:kernel_path=f1_binary.xclbin:log_path=/data/test.xml -f null -"
```
To execute mutiple of ffmpeg instances, just run docker command line.
Note: The Pulsar-VMAF provides two cores a device.
Run first instance
```bash
sudo docker run -v /var/tmp:/var/tmp -v /opt:/opt -v /${HOME}/cred.json:/app/cred.json -v ${PWD}/data:/data -w /app $XILINX_AWS_DOCKER_DEVICES hubxilinx/bluedot_pulsar-vmaf-aws-f1:latest "-i 2160_dst.mp4 -vsync 0 -i 2160.mp4 -vsync 0 -lavfi libbdvmaf=model_path=vmaf_4k_v0.6.1.json:kernel_path=f1_binary.xclbin:log_path=/data/test_1.xml -f null -"
```
Open a new terminal and run second instance
```bash
sudo Xilinx_Base_Runtime/utilities/docker_install.sh
sudo docker run -v /var/tmp:/var/tmp -v /opt:/opt -v /${HOME}/cred.json:/app/cred.json -v ${PWD}/data:/data -w /app $XILINX_AWS_DOCKER_DEVICES hubxilinx/bluedot_pulsar-vmaf-aws-f1:latest "-i 2160_dst.mp4 -vsync 0 -i 2160.mp4 -vsync 0 -lavfi libbdvmaf=model_path=vmaf_4k_v0.6.1.json:kernel_path=f1_binary.xclbin:log_path=/data/test_2.xml -f null -"
```