Intel® media accelerators featuring Intel® Quick Sync Video transcode optimize both throughput and visual quality for video cloud distribution. Three clasess of accelerator engines target high density video decode, encode, and video processing. These unlock real-time customers needing:
Intel® graphics accelerators are well integrated into open source media frameworks such as FFmpeg* and the Intel® Media SDK. These popular frameworks allow both complex pipeline support as well as extreme customization of acclerator control.
Find out more details:
To make these tools even more accessible to Linux* developers we’re now providing build scripts in Docker.
Note:
To simplify the use of FFMPEG our dockerfiles make it easy to build FFMPEG and its dependencies for your Linux platform. The FFMPEG command lines below illustrate good practices in using Intel Quick Sync Video. The use of “extbrc” demonstrates the use of developer configurable bitrate control, in these examples the defauls generate streams using pyramid coding and other quality optimizations.
Example 1: AVC VBR Encode
ffmpeg -f rawvideo -pix_fmt yuv420p -s:v ${width}x${height} -r $framerate \
-i $inputyuv -vframes $numframes -y -c:v hevc_qsv -preset medium \
-profile:v main -b:v $bitrate -maxrate $bitrate*2 -bufsize $bitrate*4 -g 256 \
-extbrc 1 -refs 5 -vsync 0 $output
Example 2: AVC CBR Encode
ffmpeg -f rawvideo -pix_fmt yuv420p -s:v ${width}x${height} -r $framerate \
-i $inputyuv -vframes $numframes -y -c:v h264_qsv -preset medium \
-profile:v high -b:v $bitrate -maxrate $bitrate -minrate $bitrate -g 256 \
-extbrc 1 -b_strategy 1 -bf 7 -refs 5 -vsync 0 $output
Example 3: HEVC VBR Encode
ffmpeg -f rawvideo -pix_fmt yuv420p -s:v ${width}x${height} -r $framerate \
-i $inputyuv -vframes $numframes -y -c:v hevc_qsv -preset medium \
-profile:v main -b:v $bitrate -maxrate $bitrate*2 -bufsize $bitrate*4 -g 256 \
-extbrc 1 -refs 5 -vsync 0 $output
Example 4: HEVC CBR Encode
ffmpeg -f rawvideo -pix_fmt yuv420p -s:v ${width}x${height} -r $framerate \
-i $inputyuv -vframes $numframes -y -c:v hevc_qsv -preset medium \
-profile:v main -b:v $bitrate -maxrate $bitrate -minrate $bitrate -g 256 \
-extbrc 1 -refs 5 -vsync 0 $output
Simple content delivery network (CDN) leverages high density and high performance transcoding. Explore our quality and performance measurement infrastructure to level set quality and performance expectations from our solution. Performance Monitoring is an essential part of any development or production operation. Intel graphics accelerators excel at minimizing CPU utilization and memory footprint. We’ve enhanced our telemetry to provide additional utilization statistics on each of these accelerator components. In the CDN screen view (below) the upper-right panel illustrates the server video engine performance characteristics.
See more details and get source code at https://github.com/intel/media-delivery.
Prerequisites:
We’d like to thank Yash Raj Films or the courtesy of using their trailer “WAR” (Copyright: Yash Raj Films Pvt. Ltd) in this demo.
git clone https://github.com/intel/media-delivery && cd media-delivery
docker build \
$(env | grep -E '(_proxy=|_PROXY)' | sed 's/^/--build-arg /') \
--file Dockerfile.ubuntu \
--tag intel-media-delivery \
.
DEVICE=${DEVICE:-/dev/dri/renderD128}
DEVICE_GRP=$(ls -g $DEVICE | awk '{print $3}' | \
xargs getent group | awk -F: '{print $3}')
docker run --rm -it \
-e DEVICE=$DEVICE --device $DEVICE --group-add $DEVICE_GRP \
--cap-add SYS_ADMIN \
-p 8080:8080 \
intel-media-delivery \
demo http://localhost:8080/vod/avc/WAR_TRAILER_HiQ_10_withAudio/index.m3u8
Try high quality tuned command lines for HEVC and AVC video encoding:
# Film: WAR – Courtesy & Copyright: Yash Raj Films Pvt. Ltd.
wget https://repositories.intel.com/media/WAR_TRAILER_HiQ_10_withAudio.mp4
ffmpeg -an -c:v h264_qsv -i WAR_TRAILER_HiQ_10_withAudio.mp4 \
-c:v hevc_qsv -preset medium -profile:v main -b:v 2000000 \
-extbrc 1 -bf 7 -refs 5 \
vsync 0 -y WAR_2Mbps_VBR_QSV.h265
Developers and users can easily access Linux software, Intel Media SDK, and FFMPEG. Our commitment to open source allows developers to easily customize these for any video application.
Use FFmpeg command line tool to perform basic trancode operations. See command line examples to achieve optimal quality level for content delivery usage scenarious. Check out generic examples for Intel Media SDK Plugins for FFmpeg.
Start developing or enhance your own application reading Media SDK Manual. See command line examples for Media SDK samples to achieve optimal quality level for content delivery usage scenarious.
If you have feedback on this page, please visit the documentation project and file an issue.