Any news on GPU transcoding, especially Intel Quick Sync?

If another vendor adds hardware decoding that increases performance 2x-8x (with right CPU/GPU/OS), anyone who really cares about efficiency and performance is going to eventually switch to them. It's just a matter of how long they wait.

The big advantage to utilizing GPU Transcoding would be in parallel processing, CUDA GPUs are very efficient at running multiple jobs at once so for people who have a lot of friends and family on the same server the performance would be much greater than 13%. If you think of Plex as a SaaS appliance it is easy to realize how concurrent transcoding jobs would be extremely useful.  

All that said Atrus is right, implementation of broad GPU support would be a lot of work and probably would be worth the effort. 

I don't see CUDA or OpenCL coming to the table any time soon but Intel's QuickSync is already working in ffmpeg so I think it's just a matter of time we get this.

would be very interested in this

Well, this happend:

Libav: https://github.com/libav/libav/commit/4e08c821106fc1d6d358864abf0d8488b12f38c6

FFmpeg: https://github.com/FFmpeg/FFmpeg/commit/4e08c821106fc1d6d358864abf0d8488b12f38c6

Hopefully PLEX dev team dosn't take too long to catch on

Hopefully!

QuickSync is faster, but maybe not that much faster.  The results are poor.  YMMV.  The OP asked about the Celeron J1900... which is probably an ok transcoder without QuickSync (at least for one HD stream).

My experiments with higher end CPUs with QuickSync vs. ffmpeg without showed about the same performance, in some cases better performance with ffmpeg vs (forget what we used for QuickSync).  But always better quality with ffmpeg.

So... not sure about low end CPUs with QuickSync... maybe there's a better speed advantage that makes up for the quality loss??

The quality depends on your processor and MB.  Newer CPU versions are better than older versions.

I've been working with a version of ffmpeg that has both NVENC and QS in it and it's slower than ffmpeg with preset -verfast.  It also uses just as much CPU so no saving there.

So until a better implementation is done via ffmpeg there isn't a use for us yet.

The quality is better for QS however compared to superfast or veryfast.  I don't bother trying to compare to medium or slow presets as that is NOT how we would use it with Plex.

Carlo

PS If ffmpeg can get QS workiing similar to QSTranscoder or Handbrake where the CPU use is low and there is a much higher use of the GPU then we'll be in business and have something worth exploring.

I've been working with a version of ffmpeg that has both NVENC and QS in it ...

Carlo-

What version of ffmpeg?  Did you compile it yourself or from whom?  Just wondering since it (QS) was just merged 5 days ago... Also wondering how stable it is, being so new.

Quick Sync has been out since 2011 (Intel Sandy Bridge) and available in NAS units like the Qnap TS-x51 series for over a year. Even this thread is almost a year old with zero hints of any progress of behalf of Plex. If Plex would support this well established technology, it could potentially save people MILLIONS OF DOLLARS A YEAR on their electricity bills (see below for the math) and be a good thing for our planet.

Quick Sync has been proven vastly more efficient. Benchmarks with Handbrake show an 8X improvement in transcoding speed. Put another way, with Quick Sync you need only a quarter, or even one eigth, the CPU resources to accomplish the same task. That allows using lower powered more energy efficient processors and, even on faster CPUs, transcoding will consume much less power if Quick Sync is utilized.

I would GLADLY use, and pay for Plex if I could use a low power NAS to transcode 1080 video using Quick Sync. But Plex is still doing transcoding the way it was done a decade ago and ignoring much better technology.

To put this in perspective, let's say for the sake of this argument, there are 100,000 people using a PC left on 24/7 as their Plex server in the world. Let's say those PCs draw an average of 50 watts. That's 120 Megawatt Hours or about $12,000 PER DAY of electricity being consumed. That's $4.3 MILLION dollars per year!

Now lets assume even half of those 100,000 Plex users could switch to a tiny low power NAS if Plex could manage to support Quick Sync. The Qnap TS-251, for example, idles at 10 watts and might use an average of 11 watts with typical daily use. That's a power savings of 50 - 11 = 39 watts for 50,000 people. That works out to saving $1.7 MILLION dollars of annual electricity consumption.

Even if you use more conservative numbers, a few weeks of a Plex developer's time could still save a staggering amount of energy, be better for the planet, and over time save people a huge amount of money. I'd really like to hear from someone as to why Plex is either against supporting Quick Sync or why it's so low on their list of priorities?

Quick Sync has been out since 2011 (Intel Sandy Bridge) and available in NAS units like the Qnap TS-x51 series for over a year. Even this thread is almost a year old with zero hints of any progress of behalf of Plex. If Plex would support this well established technology, it could potentially save people MILLIONS OF DOLLARS A YEAR on their electricity bills (see below for the math) and be a good thing for our planet.

Quick Sync has been proven vastly more efficient. Benchmarks with Handbrake show an 8X improvement in transcoding speed. Put another way, with Quick Sync you need only a quarter, or even one eigth, the CPU resources to accomplish the same task. That allows using lower powered more energy efficient processors and, even on faster CPUs, transcoding will consume much less power if Quick Sync is utilized.

I would GLADLY use, and pay for Plex if I could use a low power NAS to transcode 1080 video using Quick Sync. But Plex is still doing transcoding the way it was done a decade ago and ignoring much better technology.

To put this in perspective, let's say for the sake of this argument, there are 100,000 people using a PC left on 24/7 as their Plex server in the world. Let's say those PCs draw an average of 50 watts. That's 120 Megawatt Hours or about $12,000 PER DAY of electricity being consumed. That's $4.3 MILLION dollars per year!

Now lets assume even half of those 100,000 Plex users could switch to a tiny low power NAS if Plex could manage to support Quick Sync. The Qnap TS-251, for example, idles at 10 watts and might use an average of 11 watts with typical daily use. That's a power savings of 50 - 11 = 39 watts for 50,000 people. That works out to saving $1.7 MILLION dollars of annual electricity consumption.

Even if you use more conservative numbers, a few weeks of a Plex developer's time could still save a staggering amount of energy, be better for the planet, and over time save people a huge amount of money. I'd really like to hear from someone as to why Plex is either against supporting Quick Sync or why it's so low on their list of priorities?

Because with the same passion and belief that you have in the fact that this really should be the next feature, a couple of thousand other people believes that this is not the next feature that Plex Inc. should incorporate. That would be my guess why it has not happened yet.

Quick Sync has been out since 2011 (Intel Sandy Bridge) and available in NAS units like the Qnap TS-x51 series for over a year. Even this thread is almost a year old with zero hints of any progress of behalf of Plex.... Even if you use more conservative numbers, a few weeks of a Plex developer's time could still save a staggering amount of energy, be better for the planet, and over time save people a huge amount of money. I'd really like to hear from someone as to why Plex is either against supporting Quick Sync or why it's so low on their list of priorities?

I agree with the general sentiment of your post. It is utterly bizarre to see a company ignore a new technology that is so close to the core of their product for such an incredibly long (with respect to software development cycles) period of time. This would be something akin to VMware putting off VT-x support in their hypervisor for years, not providing a timeline for its incorporation, and declining to even address why it refuses to support something so obviously complementary to its product.

There may very well be a good reason why Plex has not incorporated QS, but I can't imagine why it would not at least address it. I've heard that they were dependent on ffmpeg for support, but ffmpeg now has QS support. (And alternative builds have had it for quite some time) Perhaps it's because Intel chips have only recently become popular for NASes, while previously most used ARM chips that did not support QS?

Either way, there is not really much reason to delay any further. The benefit is overwhelming. With QS support, even a cheap BayTrail system could be a full-featured Plex server. 

Perhaps it's because Intel chips have only recently become popular for NASes, while previously most used ARM chips that did not support QS?

Either way, there is not really much reason to delay any further. The benefit is overwhelming. With QS support, even a cheap BayTrail system could be a full-featured Plex server. 

I agree. It would be good for Plex, good for the hardware vendors offering Intel Quick Sync and, most of all, good for end users who don't want to leave a power hungry PC running all the time just to support Plex. But it would seem Plex would rather put their head in the sand and ignore the massive benefits to all involved.

Unfortunately, Plex has organized these forums in a way that makes it difficult to discuss this topic in a hardware (and operating system) agnostic way. The Windows forum is not the ideal place for this thread but Plex has divided the NAS forums by manufacture and doesn't offer a general hardware forum. Still, I would encourage others to speak out on this issue regarding their respective platform in the respective forum both there and elsewhere. Perhaps with enough online momentum someone in Plex management might finally take notice and realize the massive benefits they're so far ignoring?

To put this in more individual terms, every watt of 24/7 power consumption is typically at least $1 per year at USA electricty rates and even higher in many cases. So if that PC you're leaving on all the time because it's your Plex server uses about 80 watts, that's $80 a year for your electric bill. A NAS with Quick Sync might cost $10 a year--a savings of $70 a year. That goes a long way towards paying for a more energy efficient solution over several years if Plex would only finally offer Quick Sync support four years after it became an option.

I agree with the general sentiment of your post. It is utterly bizarre to see a company ignore a new technology that is so close to the core of their product for such an incredibly long (with respect to software development cycles) period of time.

True, but not all new technology is good technology.  I'm no expert but I do know of a few issues.

1 - Quality.  In most cases QS is faster then FFMPEG, but the quality is not the same.  And to say that quality is not as important as speed even for remote viewing is a debate that cannot not be answered.  I personally want the highest reasonable quality I can get.

2 - Multi-threading.  From what I have seen, QS can only handle 1 video at a time.  Not good if you need to transcode more than 1 movie.  I do not know if QS has a fallback ability to send the work back to the CPU, otherwise it would have to be added into PMS, if that can even be done.

3 - History.  As you say, this is new technology.  Who knows if it will catch on and Intel keeps it in their future CPUs.  For now, I have only seen it implemented in that NAS device, FFMPEG, and some not-as-popular video encoders.  I would hate to see Plex spend time on this just for it to be a wasted effort a year down the road.  If it was more widely accepted, then I think it would garner more attention.  Look at NVidia's CUDA option.  That has been around even longer and still not that widely used.

If Plex were a huge company and had a room full of experts in transcoders, then I would expect them to include support for anything and everything.  But with what they have, I think their time is better spent on other efforts.  At least until QS becomes a widely accepted and proven option.

To put this in more individual terms, every watt of 24/7 power consumption is typically at least $1 per year at USA electricty rates and even higher in many cases. So if that PC you're leaving on all the time because it's your Plex server uses about 80 watts, that's $80 a year for your electric bill. A NAS with Quick Sync might cost $10 a year--a savings of $70 a year. That goes a long way towards paying for a more energy efficient solution over several years if Plex would only finally offer Quick Sync support four years after it became an option.

Your math has a few things off.  You would only save money when you are transcoding, that is the only time the QS module would kick in.  Since you are not transcoding 24/7, you are not saving power 24/7.  Let's say you watch movies 12 hrs/day, which is a lot.  Also, when my computer is transcoding, it is not using 100% load the entire time.  It works in bursts.  Say my transcoder can operate at a speed of 2, which means 2x real-time, which means the CPU is only working 1/2 of the time of the video.  So 12 hrs of video watching is only 6 hours of transcoder time.  So now, I would only be saving power on 6 hours per day or 1/4th your original estimate.  That $70 savings has now become $17.50 and that is with a lot of movie watching.

True, but not all new technology is good technology.  I'm no expert but I do know of a few issues.

1 - Quality.  In most cases QS is faster then FFMPEG, but the quality is not the same.  And to say that quality is not as important as speed even for remote viewing is a debate that cannot not be answered.  I personally want the highest reasonable quality I can get.

2 - Multi-threading.  From what I have seen, QS can only handle 1 video at a time.  Not good if you need to transcode more than 1 movie.  I do not know if QS has a fallback ability to send the work back to the CPU, otherwise it would have to be added into PMS, if that can even be done.

3 - History.  As you say, this is new technology.  Who knows if it will catch on and Intel keeps it in their future CPUs.  For now, I have only seen it implemented in that NAS device, FFMPEG, and some not-as-popular video encoders.  I would hate to see Plex spend time on this just for it to be a wasted effort a year down the road.  If it was more widely accepted, then I think it would garner more attention.  Look at NVidia's CUDA option.  That has been around even longer and still not that widely used.

If Plex were a huge company and had a room full of experts in transcoders, then I would expect them to include support for anything and everything.  But with what they have, I think their time is better spent on other efforts.  At least until QS becomes a widely accepted and proven option.

1 - The quality issues with QS are *extremely* minor. There are some artifacts visible only to very discerning eyes, and usually only when screenshots are examined. This is of little concern in the typical scenario that QS is needed - on-demand transcoding of high quality content to lower quality for low-speed connections. See here:

http://www.anandtech.com/show/7007/intels-haswell-an-htpc-perspective/8

 

2 - My understanding is that QS can handle multiple simultaneous streams. If I'm mistaken I'd appreciate a reference as a correction. See this article for an example of simultaneous QS transcoding:

http://www.tomshardware.com/reviews/video-editing-performance-ssd-hdd,3089-5.html

 

3 - I'm not sure what would lead one to think Intel is going to abandon QS. Have there been any CPU extensions Intel introduced and then abandoned? This just seems like an unfounded fear. Also, I'd say 4 years old is no longer "new" in the technology world. 

 

You're right in that Plex is not a huge company with unlimited resources. However, a large part of my criticism is that QS support should not require a disproportionate effort. Certainly now that ffmpeg supports it, it should not take much to simply have PMS utilize ffmpeg's capability.

Your math has a few things off.  You would only save money when you are transcoding, that is the only time the QS module would kick in.  Since you are not transcoding 24/7, you are not saving power 24/7.  Let's say you watch movies 12 hrs/day, which is a lot.  Also, when my computer is transcoding, it is not using 100% load the entire time.  It works in bursts.  Say my transcoder can operate at a speed of 2, which means 2x real-time, which means the CPU is only working 1/2 of the time of the video.  So 12 hrs of video watching is only 6 hours of transcoder time.  So now, I would only be saving power on 6 hours per day or 1/4th your original estimate.  That $70 savings has now become $17.50 and that is with a lot of movie watching.

My math is not far off. An average desktop PC IDLES at around 50 watts of power consumption. That's when it's doing nothing. It draws even more when it's say transcoding video. If you have a state-of-the-art low-end PC with a Haswell 4th Gen Intel CPU, no video board, an especially efficient 80 Plus Gold power supply, and an especially efficient motherboard without a lot of extras, your PC might idle at 25 watts. But if you have an older, higher power, PC, with a video board, it might idle at 75 or more watts. That's where my 50 watt average number came from.

A NAS, however, can idle around 10 watts and that only jumps up to 20 watts or so at full load. Because remote wake-up isn't possible, or sufficiently convenient, with Plex, most people at least leave their Plex server running during whatever hours they might want to use Plex on any device. And that often turns into 24 hours a day and 7 days a week. So the idle power consumption is the big problem, not the rise in consumption when you're actually viewing a movie. If you wait to boot your PC every time you want to watch something, and turn it off when you're done, then you wouldn't save nearly as much energy switching to a NAS. But then you might as well not have a server at all and just use a HTPC.

If you're still going to use your power hungry PC as your server, and it supports Quick Sync, then you're correct. You'd only save some power when you were actually viewing movies. But my whole argument is the ability to use a very low power NAS/PC/laptop/NUC/etc. that otherwise doesn't have a CPU to handle 1080 transcoding but easily could with Quick Sync.

The case for many Plex users is even worse. They have a NAS to store all their media files on, but the NAS can't do 1080 transcoding, so they run their Plex server on a PC. The PC pulls files off the NAS, transcodes them, and streams them to their device(s). Wouldn't it be nice to have it all be self contained in a tiny low power NAS?

As to multiple streams that's a false argument. PCs, and WiFi networks, are already limited in how many simultaneous 1080 streams they can support regardless of the how the transcoding is done. So it's all relative and still is not a valid reason for Plex not to offer Quick Sync for the applications where it offers a huge benefit. I'd gladly give up multiple 1080 transcodes to host Plex on a low power NAS.

I fully agree with WhatPlantsCrave. 4 years is not at all new technology in the PC world--it's 3 generations old. And Intel does not have a history for removing CPU extensions. They just add new ones. The whole point of the x86 architecture is backwards compatibility. And ffmpeg has supported Quick Sync for some time. Many were hopeful that would finally open the door for Plex to adopt it but we haven't heard a thing from Plex on the subject.

1 -  It is a little hard to tell the quality from still images when yo have to look 1 at a time.  It would have been nicer if they put the same frame from all the test on 1 page or even small clips so you could them in motion.  I do not agree that QS would only be use for low quality low-speed connections.  If I wanted to utilize QS I would want it as my general transcoder for everything.  That is what FFMPEG does now for PMS.  I guess they could make it an option like they have now for the legacy transcoder.  That will depend on how much work FFMPEG can get done on their end.

Did you read the last part of the article?  They did not praise the quality highly.

[spoiler]In our opinion, the QuickSync results on HD4600 appear to be worse than what is obtained on the HD4000. With Haswell, Intel introduced seven levels of quality/performance settings that application developers can choose from. According to Intel, even the lowest quality Haswell QSV settings should be better than what we had with Ivy Bridge. In practice, this simply isn't the case. There's a widespread regression in image quality ranging from appreciably worse to equal at best with Haswell compared to Ivy Bridge. I'm not sure what's going on here but QuickSync remains one of the biggest missed opportunities for Intel over the past few years. The fact that it has taken this long to get Handbrake support going is a shame. Now that we have it, the fact that Intel seems to have broken image quality is the icing on a really terrible cake.[/spoiler]

2 - Interesting.  Had not seen that before.  Thank you for that info.  So you can scratch that one off the list.  I wonder what FFMPEG's implementation looks like.

3 - QS is not an extension, it is actual separate hardware portion on the CPU so it is not the same comparison.  I do not think QS supports h265.  With that becoming more prevalent in the years, QS could get abandoned for something better, which could happen and make any work with QS wasted.  4 years for hardware based technology is still pretty new.  Think about WiFi, 802.11ac first came out in 2011 and most devices still do not use it and everyone knows what WiFi is.

Since PMS's transcoder is highly based on FFMPEG, once those guys get QS stable, I would not be surprised to see it show up in PMS.

@MurphyBed - You cannot compare power savings between a PC and a NAS.  Using a PC versus a NAS has it's own criteria.  You need to look at a PC with QS versus without or a NAS with QS versus without.  Comparing between different devices is just not equal.  It's like saying you can save on electricity by living in a trailer home and using all LED lights versus living in a 3 bedroom house with traditional lights.  Yes, that would be true but not a fair comparison.

So just to help clarify this I have actually used QuickSync on a Dell Venue Pro 8 with MCEBuddy. MCE Buddy uses the Handbrake integration with QuickSync and to put it simply there is no way it can do even 1 1080p transcode. Now that isn’t exactly a valid comparison to Celeron j2900 cpu, but is probably not far off from the silvermount CPU’s used in some of the NAS’s. Either way Simply put even with Quicksync you wouldn’t get realtime transcoding of 1080P video. Quicksync is not the same across all CPU’s and newer modern Desktop CPU’s with quicksync will be much faster then any other variation with it. But that doesn’t help low powered solutions. I am also in total agreement with MovieFan on the fact that I don’t want to introduce any artifacts when i am watching a move on my 55" TV or at my folks beach house on there 48" TV. Maybe on a portable device it wouldn’t be as much of a issue but even then I generally end up playing back content on a bigger screen. So in that scenario the best quality is needed instead of transcoding speed. I do understand the desire here, but i don’t think it is as simple as simply enabling Quicksync.


Sent from my Nexus 10 using Tapatalk

@MurphyBed - You cannot compare power savings between a PC and a NAS.  Using a PC versus a NAS has it's own criteria.  You need to look at a PC with QS versus without or a NAS with QS versus without.  Comparing between different devices is just not equal.  It's like saying you can save on electricity by living in a trailer home and using all LED lights versus living in a 3 bedroom house with traditional lights.  Yes, that would be true but not a fair comparison.

You absolutely can compare the two if Plex offered Quick Sync support. The average person who wants to run Plex does so because they want to view media on their smart TV, Roku player, tablet, etc. They need a place to store and stream that content. So someone setting up Plex in their home has to decide what hardware to run the server on. Right now, you're severely limited if you want to host the Plex server on a NAS. You have to make sure all your content is in a form that can be natively played on all your devices without transcoding. And, in my experience, that has so many issues and limitations as to not be practical for the majority of Plex users.

So most are forced to run Plex server on a powerful enough PC to do the transcoding by brute force in software using a lot of CPU resources. And many still elect to keep all their media files on a NAS because it offers RAID redundancy, makes them available to multiple devices on the network, can be used to back up their PCs, etc. So they end up with a PC running the Plex Server AND a NAS to store the files.

If Plex supported Quick Sync, there are a number of reasonably NAS units offering Quick Sync that would do everything in one small box that's nearly plug-n-play. No power hungry PC required.