Can Intel QSV Improve VMS Performance?

A member asked about the impact of Intel Quick Sync Video (QSV) on VMS performance.

QSV enables Intel CPUs to take advantage of Intel graphics cards to offload encoding / decoding of video.

Here's a description from their whitepaper:

"Intel QSV H.264 codec is implemented using Intel Media SDK APIs that exposes Intel®
Quick Sync Video and take advantage of offloading video processing work to integrated
Intel HD Graphics.

Instead of processing the video encoding/decoding only on the CPU, Intel QSV H.264 codec
takes advantage by offloading some of the work onto Intel HD Graphics"

Anyone have any experience how this would impact VMS performance, either client or server side?

Actually that is not quite right. Intel HD Graphics actually exist on the same die as the CPU chip and so are trully "embedded". There are no graphics cards per se. In recent years we have seen the speed of these embedded GPU's increase rapidly from the early HD2000/3000 combinations to the current leader being the Iris Pro HD5200. The media SDK enables (amongst other things) the offloading of H264 encoding/decoding tasks to the onboard GPU thus relieving the CPU to carry on other tasks. If implemented properly within say a VMS, these CPU's have the ability to support many more cameras than previously possible.

At the moment I am not aware of any VMS's supporting this technology but I am happy (and relieved) to be proven wrong.

Good feedback. Thanks for the clarification.

I'll ask around to VMS manufacturers.

The comment above regarding QSV technology is perfectly correct. Intel HD Graphics with QSV support is truly embedded into the Intel i3, i5, i7 processors. To make this concept easier to understand we usually refer to Intel HD Graphics as the ‘graphics core’ of the Intel processor.

We (ISS) are having an excellent experience with QSV technology and can confirm this technology suits CCTV applications very well. We first introduced QSV support 10 months ago as a feature of SecurOS MediaClient (our new operator interface). Now we have QSV support fully production-level on both client and server side, and use QSV specifically to decompress the h264 stream.

To highlight the benefits of this technology, provided are some numbers from our testing. For ‘extreme’ tests we used an entry level mini-PC Intel DC3217BY (Core i3-3217U, 1.8GHz) with a built-in video card. On this mini-PC, we are able to display 162 channels of video on 2 Full-HD screens (20 fps). This is when we use Axis cameras with dualstream support (MediaClient has stream auto-select feature). When we disable stream the auto-select feature, we are able to decompress and display 32 Full-HD streams. On the same mini-PC with QSV support disabled, we can hardly decompress 2-3 Full-HD steams. For another example, we can take our VideoWall controller. It also shares the same QSV support and is powered with the i7 processor plus a dedicated set of video cards. On live tests, our VideoWall controller can display up to 288 video streams (Axis, 20 fps) on 8 HD screens merged into single desktop.

Currently we are implementing video compression to h264 format using QSV. This is to be used for the transcoding feature of SecurOS RTSP-server -- without overloading the CPU. We can then provide steams from legacy and other ‘special’ cameras to external systems and web/mobile clients.

The only limitation of QSV technology that we see is that it is not yet implemented for major multi-core server platforms. We do not have any problems when we recommend i5 or i7 based PCs as workstations. But many of our installations are sizable systems using blade servers and virtualization. Unfortunately, for those configurations QSV cannot be currently used.

Let me know if you need any additional information about QSV technology implementation.

Peter what is you company or brand name. Thanks.


Peter is from ISS and his company website is linked on his name above each comment.

I have been using the QSV SDK since the very begining as the Handbrake community was one of the first to gain access to the SDK. (We also have a lot of Intel NUC's) While it is certainly true that MAJOR multicore server CPUs are not supported, don't rule out the entry level Xeon E3-1200 v3 range. The challenge is to be able to find a Server specific motherboard that supports the onboard graphics feature as most manufacturers use their own "onboard" graphics solution.

I also would say that QSV offers an excellent development and operational environment for any VMS.

Peter, when you refer to your Intel NUC DC3217BY (Core i3-3217U, 1.8GHz) you mention a "built in graphics card". Have you added an after market mini-pcie graphics card or are you simply referring to the embedded Intel HD Graphics 4000 GPU on the i3-3217U?

With the imminent release of the new Broadwell range of processors we will see the introduction of the next generation of embedded GPU's with the HD6300 Pro at the top. The HD6300 will have 3x to 4x the performance of your HD4000. I am also expecting to see a new range of NUC's in the next month or so. This is all fantastic news for VMS vendors who make use of QSV.

Are there any other Vendors out there that makes use of QSV?

Chris, I was actually trying to say that we used Intel NUC as it came from the factory. No additional video card (graphics card) was used for our tests.

We are looking forward to new Intel processors too: we strongly believe in QSV technology. We are also contacting Intel to see what their plans for the server platforms are.

Is this technology similar to NVIDIA encoding/decoding solution?

Wagner, I believe so. The obvious difference is that Intel has a much bigger market share / user base.

Interestingly I asked our Director of IT a couple months back if anyone was using GPGPU via CUDA or OpenCL. It's interesting to see that Intel is starting to push it. Unfortunately, their integrated video cards aren't quite as powerful as dedicated video cards but if that general purpose processing is put to use in a meaningful way the potential of this is huge.

Can one of the various developers/engineers comment as to whether this could ever be used for motion detection in video or is that too far out of the realm of "general purpose" usage? What about any other analytics?

I will ping exacq and milestone this week. try and give feed back.

To my knowledge, the only VMS besides ISS that attempted to optimize to QuickSync was Network Optix. I have investigated many others. Most have no idea what I am talking about when I ask.

You can get at QuickSync with ffmpeg, Media Player Plus, LAV, ffdshow, and of course 32 bit versions of VLC. You might be able to get some VMS to use Quicksync if they use one of these interface layers.

Note that there may be some tweaks required in order to enable quicksync...enable projector (virtual display) if you only have on-board graphics.

You can use QuickSync in unison with other GPU cards like CUDA. Let QuickSync do h.264 decode and GPU do the rendering of graphic output.

QuickSync has lots of potential.

In the past few weeks I have been testing the new Axis P1428-E 4K camera at a Motor Sport track in Australia. At first pass, the results I was getting were poor with frame drops and what appeared to be motion shudder. At first I thought it might be the camera (even the web-based live viewer had problems) but then I ran the 64bit version of VLC using RTSP and received perfect 30fps streams (VLC has an excellent H264 decoder). After about a day of trialing three different VMS vendors I suddenly came to the conclusion that all of them single thread their decoding tasks. Even though I had plenty of CPU resources, I could see that a single core of each CPU was running at 100% while the other cores were basically idle. Decoding a 4K image at 30fps requires lots of resources so single threading decoding becomes a deal breaker.

At Intel's recommendation, I purchased an Intel i7 4790K which currently has the fastest single core of any Intel CPU's. While my problems didn't go away, the results were certainly 100% better and supported my theory that many VMS vendors are currently single threading this vital task.

I won't mention which vendors I used as, for the moment at least, it is not impacting 99.9% of environments where VMS's are in play but it won't be long before 4K becomes the new 1080P and this problem will have to be addressed. Implementing QSV (or for that matter any GPU based decoder technology) is the logical solution but it will need to happen soon.

For what its worth, the P1428-E is an excellent 4K camera and at the $999 RRP Axis is planning to sell it at I feel it will be the beginning of a new era for IP Camera technology. Digital zooming when you have 4K to play with is a dream. Sure, it doesn't have many of the refinements of other Axis Cameras but when you only have one camera to capture a massive target area, it is the only game in town.

[Note: Poster is from Intel]

From an Intel perspective, manufacturers and ISVs are increasingly taking advantage of QSV for video surveillance applications and seeing performance improvements. The hardware acceleration of video en/de/transcode and video processing improves application performance while simultaneously freeing up the CPU for other/additional workloads. Intel continues to focus on GPU enhancements for media applications. (Details on Intel QSV) Also a critical element of QSV is the Media SDK which makes it easy for developers to optimize applications for Intel® HD Graphics' fixed-function hardware acceleration.

Contact me ( if more information is needed.

We've tried it to improve performance of the VMS client.
It worked well.

Downsides are:
-it's windows only ( strange policy from Intel)
-Intel HD video card must be in use( meaning that monitor must be connected to it).

- it slows down video card

- at some point ( if you try to use multiple video decoders to decode multiple cameras ) it does not work and we did not find a way to find out the limits via API/SDK. So we did not know in advance if next decoder should be hardware or software...

If it works, it works great!

Sergey, can you email me with more info on the issues you have seen?

For the Linux comment, we do have the Intel(r) Media SDK for Clients and Servers available for Linux. We don't currently have it available for Atom on Linux, but are investigating that for future support.


Thnak you. Will contact you once we get bak to the theme.

Intel's QSV is rather impressive with its transcoding and encoding performance but it is only for certain intel processors. Nvidia's CUDA is as well. However both are closed and does not support a wide number of platforms (Linux, AMD, ARM etc).

I would figure VMS developers would target OpenCL, which is more open hence the name. OpenCL harnesses the parallel nature of GPUs, it isn't just limited to dedicated GPUs but also benefits from on die GPUs from intel and amd as well. Almost all CPUs nowadays come with on board graphics and is also supported on ARM processors.

This might not be as beneficial on the Client VMS side as they use more graphics rendering APIs (DirectX, OpemGL, but more for the server side for computation. The server side could benefit by using for encoding, transcoding or even other task for example LPR functions.

You can also see that Apples new Mac Pros are also heading this direction as their new builds use strictly AMD firepro cards for rendering.

In all likelihood Apple was more concerned about who could deliver a GPU that had the capability to fit in the thermal envelope of the new Mac Pro while still maintaining some level of performance worthy of a workstation.

Apple implemented OpenCL in 2009 under OS X 10.6 and supported in GPUs as low end as Geforce 320M\9400M integrated video cards. In fact, I believe Apple initiated the OpenCL standard. ATI\AMD jumped on as their Close to the Metal (CTM) solution was not being adopted as rapidly as CUDA and they were losing a lot of market share on Apple machines to Nvidia at that time. Aside from the Radeon 4870 option in the Mac Pro and a BTO option in the iMac 24" I do not believe Apple was shipping any PCs with ATI GPUs at that point. Apple was even looking at AMD APUs after OpenCL was put out there, or so the (startlingly accurate) rumor sites say.

Personally, I eagerly await a high end VMS with GPGPU built in no matter whether it is Intel, Cuda, or OpenCL that gets it there. It is long past time for someone to put GPGPU to use besides physics in video games, Photoshop, and Bitcoin mining... an oversimplification but not too far off.