Get Started#

The sample application is based on the Video Processing Platform SDK. It can run typical video processing workflows like video analytics and video transcoding. It can also be configured to run typical video composition workloads. You can use it for performance evaluation and implementation reference.

  • Time to Complete: 20min

  • Programming Language: C++

Note: This guide covers the Video Analytic and Transcoding example applications in the example folder.

Prerequisites#

Operating System:

  • Ubuntu 24.04

Software:

  • Video Processing Platform SDK

Installation Guide#

1 System Installation#

Install Ubuntu* 24.04, set up the network correctly, and run the sudo apt update.

2 Install Software Dependencies#

The sample application depends on the Video Processing Platform SDK for video decode, encoding, and post-processing functionalities. It also depends on OpenVINO™ for video analytics and the live555 library for RTSP streaming.

2.1 Install the Video Processing Platform SDK#

Install the Video Processing Platform SDK first.

sudo -E wget -O- https://eci.intel.com/sed-repos/gpg-keys/GPG-PUB-KEY-INTEL-SED.gpg | sudo tee /usr/share/keyrings/sed-archive-keyring.gpg > /dev/null
echo "deb [signed-by=/usr/share/keyrings/sed-archive-keyring.gpg] https://eci.intel.com/sed-repos/$(source /etc/os-release && echo $VERSION_CODENAME) sed main" | sudo tee /etc/apt/sources.list.d/sed.list
echo "deb-src [signed-by=/usr/share/keyrings/sed-archive-keyring.gpg] https://eci.intel.com/sed-repos/$(source /etc/os-release && echo $VERSION_CODENAME) sed main" | sudo tee -a /etc/apt/sources.list.d/sed.list
sudo bash -c 'echo -e "Package: *\nPin: origin eci.intel.com\nPin-Priority: 1000" > /etc/apt/preferences.d/sed'
sudo apt update
sudo apt install intel-vppsdk

sudo bash /opt/intel/vppsdk/install_vppsdk_dependencies.sh
source /opt/intel/vppsdk/env.sh

Assume the Video Processing Platform SDK package directory is vppsdk and the default install path is /opt/intel/. Run vainfo to verify the media stack is installed successfully:

# sudo su
# export LIBVA_DRIVER_NAME="iHD"
# export LIBVA_DRIVERS_PATH="/opt/intel/media/lib64"
# /opt/intel/media/bin/vainfo

In the terminal, you should see the output similar to what is shown below:

Trying display: drm
libva info: VA-API version 1.22.0
libva info: User environment variable requested driver 'iHD'
libva info: Trying to open /opt/intel/media/lib64/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.22 (libva 2.22.0.1)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 24.2.5 (12561f6)
vainfo: Supported profile and entrypoints
      VAProfileNone                   : VAEntrypointVideoProc
      VAProfileNone                   : VAEntrypointStats
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Simple            : VAEntrypointEncSlice

Then, run a Video Processing Platform SDK API test.

Switch to root and init 3 before running the command below:

sudo init 3
sudo su

cd /opt/intel/vppsdk/bin
source /opt/intel/vppsdk/env.sh
./api_test --gtest_filter=*MainAPI*

It will start a decode pipeline. On a successful test run, you should see a message similar to the one below:

[       OK ] TestDecodeAPI.MainAPI (23877 ms)
[----------] 1 test from TestDecodeAPI (23877 ms total)
[----------] Global test environment tear-down
[==========] 1 test from 1 test suite ran. (23877 ms total)
[  PASSED  ] 1 test.

2.2 Install the OpenVINO™ library#

There is an example/VA_example/install_dependencies.sh under VA example folder. With a working network connection on your system, run this script: it will download, build, and install OpenVINO™ libraries. The libraries will be installed to /opt/intel/openvino.

2.3 Install the live555 library#

There is a svet2/live555_install.sh under the root directory of svet_app source code package. With a working network connection on your system, run this script: it will download, build, and install live555 libraries. The libraries will be installed to /usr/local/lib/.

3 Build the sample application#

If you have not run the commands below in the current terminal, run them first to set up the correct environment variables:

$ source /opt/intel/vppsdk/env.sh
$ export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

Then run build.sh to build the Video Analytic application binary:

$ cd example/VA_example/decode_detection/surface_map
$ ./build.sh

If the build.sh runs successfully, you can find the dec_det binary under the build directory.

Run the Sample Application#

1 Download and convert the model#

You can download and convert the YOLO model with OpenVINO™ notebook, you will get yolov8n_with_preprocess.xml after successful model download and conversion.

https://github.com/openvinotoolkit/openvino_notebooks/blob/2026.0/notebooks/yolov8-optimization/yolov8-object-detection.ipynb

2 Switch to root and set environment variables#

Before running the sample application, make sure the environment variables are set correctly in the current bash:

# sudo init 3
# sudo su
# source /opt/intel/vppsdk/env.sh
# export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

Note: the Video Processing Platform SDK uses drm display, which requires that there is no X server running and with root privileges.

3 Run a basic Video Analytic pipeline#

Run video decode + detection with YOLO detection model:

./dec_det yolov8n_with_preprocess.xml

Logs will be displayed upon successful execution. Sample output is shown below:

[FPS counter] Tue Jun  2 06:27:28 2026

Decode node stream 4, fps is 60.000000
Decode node stream 3, fps is 56.000000
Decode node stream 11, fps is 67.000000
Decode node stream 12, fps is 60.000000
Decode node stream 6, fps is 60.000000
Decode node stream 1, fps is 55.000000
Decode node stream 14, fps is 63.000000
Decode node stream 15, fps is 56.000000
Decode node stream 2, fps is 59.000000
Decode node stream 0, fps is 62.000000
Decode node stream 13, fps is 59.000000
Decode node stream 10, fps is 60.000000
Decode node stream 8, fps is 57.000000
Decode node stream 9, fps is 60.000000
Decode node stream 5, fps is 59.000000
Decode node stream 7, fps is 59.000000
Decode node total fps is 952.000000, total stream number is 16, average stream fps is 59.500000
[2026-06-02 06:27:28.494] [thread 134686] [info]: [decode.cpp:destroy@Line110] decode destroy
[2026-06-02 06:27:28.503] [thread 134686] [info]: [decode.cpp:destroy@Line110] decode destroy
[2026-06-02 06:27:28.513] [thread 134686] [info]: [decode.cpp:destroy@Line110] decode destroy
[2026-06-02 06:27:28.522] [thread 134686] [info]: [decode.cpp:destroy@Line110] decode destroy
[2026-06-02 06:27:28.531] [thread 134686] [info]: [decode.cpp:destroy@Line110] decode destroy
[2026-06-02 06:27:28.541] [thread 134686] [info]: [decode.cpp:destroy@Line110] decode destroy
[2026-06-02 06:27:28.551] [thread 134686] [info]: [decode.cpp:destroy@Line110] decode destroy
[2026-06-02 06:27:28.559] [thread 134686] [info]: [decode.cpp:destroy@Line110] decode destroy
[2026-06-02 06:27:28.568] [thread 134686] [info]: [decode.cpp:destroy@Line110] decode destroy
[2026-06-02 06:27:28.577] [thread 134686] [info]: [decode.cpp:destroy@Line110] decode destroy
[2026-06-02 06:27:28.586] [thread 134686] [info]: [decode.cpp:destroy@Line110] decode destroy
[2026-06-02 06:27:28.594] [thread 134686] [info]: [decode.cpp:destroy@Line110] decode destroy
Decode and detection finished.

Uninstall#

Uninstall the sample application#

sudo rm -rf build

Uninstall live555#

xargs sudo rm < live555-master/build/install_manifest.txt sudo rm -rf live555-master

Uninstall the Video Processing Platform SDK#

sudo apt remove intel-vppsdk sudo rm -rf /opt/intel/vppsdk sudo rm -rf /opt/intel/media

Run the Sample Application in Docker#

Build Docker image and Run in Docker container, for information see the Docker README.