I recently tested multiple Quicksync capable CPU’s in Plex and found some interesting bugs/problems. I would like to make the community aware of these issues in the hope that maybe Plex can work on fixing them :).
First and foremost what is Quicksync? Quicksync is Intel’s answer to hardware transcoding on cpus with the iGPU (Integrated Graphics Processor). This speeds up and lessens the amount of work a CPU has to do when transcoding media from one format to another. This is EXTREMELY efficient when compared to doing software transcoding on the CPU itself. There are; however, some drawbacks to it. First In older generation CPU’s (Pre-Haswell) Intel focused on SPEED > Quality. This meant that quality suffers if you run quicksync in plex with something pre-Haswell CPU architecture wise. Below is an article from the wiki page for Quicksync that explains some of this:
The first unintentional ISSUE I found is that as of September 2018 it doesn’t appear Plex supports running BOTH quicksync AND Nvidia’s NVENC Hardware transcoding simultaneously. This means that you can run a GPU and hardware transcode on it until it hits 100% utilization OR run quicksync on a CPU via the integrated GPU, but you can’t do both simultaneously. This is very disappointing as you can enable onboard graphics on most motherboards while using a p2000, but plex simply won’t make use of both simultaneously. That said from my testing you CAN run multiple GPU’s and plex will use them both. I did this with a P2000 and a GTX 980 ti which added 2 extra transcodes in windows.
This meant that when I ran an RX580 AMD gpu and maxed it out at 7 transcodes the CPU was barely being utilized, but I just couldn’t get any more transcodes to load. I tested the RX580 and I was incredibly disappointed with it as I’ve mentioned in a previous post. I could only ever get 7 h265 transcodes before it hit a wall; it did not matter what host I put the card in; they all got about 7 h265 transcodes before they started buffering. So it effectively bottlenecked any computer I put it in where the stock processor couldn’t handle 7 h265 transcodes natively. This is a major limitation that I hope gets fixed down the road.
Another issue I found was sometimes Plex would do software transcoding instead of hardware transcoding with quicksync even though hardware transcoding was enabled. It was fairly consistent and more noticeable on older generation cpus. I’m not sure why it does this, but the only way to force hardware transcoding is to manually stop the playback, cross your fingers and start it again. This happened in both ubuntu AND windows 10 pro. This is also very disappointing and I hope plex fixes this down the road. Please note I have not seen this same behavior while using the P2000 or any GPU for that matter — for whatever reason GPU hardware transcoding works flawlessly.
One last thing to note, and probably the MOST important. There seemed to be an issue while hardware transcoding with quicksync mostly on older generation processors where the Plex server process would hang. The process would be running, the transcoder processes would also be running but nothing would work and all sessions would infinitely buffer with a spinning circle. I mostly experienced this issue on older pre-Haswell intel cpus, but I suspect it might plague all quicksync enabled plex servers maybe just to a lesser degree for newer cpu’s. I posted a link below to a Plex forum post I wrote and if any of you have experienced this PLEASE comment on my post to help make the devs at plex aware of this bug so they can fix it. Right now I see this as a huge set back for anyone wanting to enable hardware transcoding on older intel quicksync capable chips.