Jump to content

Support for HW Trancoding


Trexx

Recommended Posts

I have a QNAP TS-453Pro (w/16GB RAM) and recently started looking at Emby as an alternative to Plex.  I like that Emby has support for HW transcoding, but it currently appears that it does NOT support QNAP's implementation of it - CodexPack.

 

Are there any plans to build in support for CodexPack, or an option to allow users to repoint to "vendor-specific" files (ffmpeg, etc.)?

 

The CPU utilization w/o the HW Transcoding support is pretty high.

 

Thanks,

T.

 

 

Link to comment
Share on other sites

I'm not 100% sure about this, but I believe qnap is using gstreamer for it's hardware assisted transcoding, and emby is using ffmpeg, so unless emby adds gstreamer support (this has been requested a long time ago) it will not work out of box.

 

I belive ffmpeg needs a kernel patch and propriatary software from intel to support hardware transcoding, also the qsv codecs needs to be compiled in for ffmpeg and they are not by default. Qnap may have patched the kernel to support qsv encoding (for gstreamer to work?). But I believe the intel files you probably cannot distribute with Emby, so people would need to download them on their own. And then ofcourse Emby would have to compile in qsv support in the Linux ffmpeg.

 

Like I said, I'm not 100% sure about this, but from the information I've gathered on the issue I believe this to be the case.  

Edited by KRA
  • Like 1
Link to comment
Share on other sites

Hello

 

Im wondering what is required for the Intel Quick Sync to work. 

 

Of course hardware support. I.e. an Intel CPU.

 

But what are the requirements for the ffmpeg version?

 

Currently i run the Qffmpeg version from this topic:

 

http://forum.qnap.com/viewtopic.php?f=320&t=109476

 

With this FFmpeg version:

 

http://forum.qnap.com/viewtopic.php?f=320&t=109648

 

The dev/pkg builder (QNAP_Stephane) is unaware of the special ffmpeg flags which are needed. Could somebody clarify?

 

 

Link to comment
Share on other sites

seems link to libmfx, that i couldnt embed in ffmpeg, remain an error when corss compiling ffmpeg 2.8.3, i had to remove the flag

 

wonder if i can compile correctly QSV into ffmpeg, but i dont find the right information

Edited by Qoolbox
Link to comment
Share on other sites

CodexPack couldnt be use, because depends of HDStation, only Mediastreaming addon could be, but ffprobe missing

 

that why alternatively i propose a Qffmpeg release version for Emby

  • Like 1
Link to comment
Share on other sites

  • 5 weeks later...

I think this is just a matter of time. But I have a QNAP TVS-663. I assume there will be a way to take advantage of the ATI GPU on it for transcoding? I think anything to speed it up would help. The AMD version also has a CodexPack installed and hardware transcoding is active. So which of the flavors do I use with ATI CPU/GPU combo?  

Edited by AlexDua
Link to comment
Share on other sites

  • 2 weeks later...

Aw...I was just trying out Emby as a *far* nicer alternative to QNap's streaming/transcoding apps, only to find that it's way to skippy to be watchable...apparently, because it doesn't take advantage of QNap's hardware transcoding :(  I've got the brand new ts-453a w/ 16gb RAM, with QNap's own apps it transcodes anything up to 4k without a hitch.  But Emby struggles at 720p.

 

+1 more user really wishing this worked :/

Link to comment
Share on other sites

QNAP's CodexPack is nothing particularly special. I certainly don't consider it "proprietary hardware transcoding technology" although that's my perspective which is quite the opposite as the hardware acceleration is implemented via the normal Linux VAAPI courtesy of ffmpeg, gstreamer, some scripts and not much else. The speedup people are seeing when CodexPack is installed is probably due to accelerated decoding only, it doesn't offload the entire transcoding process to Quick Sync, that is clearly for Windows and "proper" Linux servers only. This isn't the first time QNAP has promised a feature they expected Intel to deliver, h/w accelerated decoding support was announced for XBMC/Kodi on older QNAP models but Intel never supplied drivers for the chipset.

 

To be clear, I can find no evidence in the binaries, supporting libraries or on the web that there is any support for Intel Quick Sync hardware based encoding, this misunderstanding appears to have been caused by this Anandtech article (http://www.anandtech.com/show/8192/qnap-tsx51-nas-series-intel-quick-sync-gets-its-killer-app/4). What Anandtech fail to mention is that Quick Sync + Bay Trail + Linux = Not supported!
 
On a side note, while picking CodexPack apart I also found that QNAP has chosen to ignore ffmpeg's licensing conditions exposing themselves to potential legal threats, you would think the text "This version of ffmpeg has nonfree parts compiled in. Therefore it is not legally redistributable" is pretty self explanatory.
 

seems link to libmfx, that i couldnt embed in ffmpeg, remain an error when corss compiling ffmpeg 2.8.3, i had to remove the flag

 

wonder if i can compile correctly QSV into ffmpeg, but i dont find the right information

 

Libmfx is a software layer between applications and the hardware specific libraries included with the Intel Media Server Studio SDK, these libraries are only supplied as binaries which is why they only work with patched kernels and why the ffmpeg developers refuse to use them. If you really want to have a try there are instructions on Intel's website at https://software.intel.com/sites/default/files/media_server_studio_getting_started_guide.pdf
 

CodexPack couldnt be use, because depends of HDStation, only Mediastreaming addon could be, but ffprobe missing

 

that why alternatively i propose a Qffmpeg release version for Emby

 

That's not strictly true, you could repackage the binaries and libraries from CodexPack (which does include ffprobe, ffserver, jpegenc, avcenc, h264encode and x265) so they install to a different path similar to what you are doing with Qffmpeg. But your builds are newer and have many more features, maybe too many, I don't understand why you included so much extra stuff. Your qpkg also has the same licensing issue I mentioned above, it shouldn't be a problem as long as it's only you distributing it to other users for non-commercial private use though I suggest looking into this at some point.

Link to comment
Share on other sites

to clarify

 

 

What Anandtech fail to mention is that Quick Sync + Bay Trail + Linux = Not supported!

 

Please clarify this because the statement in itself is obviously not correct.

 

You even said yourself in another sentence that "The speedup people are seeing when CodexPack is installed is probably due to accelerated decoding only, it doesn't offload the entire transcoding process to Quick Sync"

 

the qnap bay-trail nas is sold with HW transcoding, and transcoding is quite fast for such a cpu so something is working right. When I checked it was using a combination of ffmpeg and gstreamer to do the job.

 

I'm wondering if "Linuxstation" for firmware 4.2.1 could solve this issue, where you could pass the gpu into the VM. Then we can have full control over it and use patched kernel. It seems linuxstation is using LX container and not VM, so that idea is bust.

 

Edited by KRA
Link to comment
Share on other sites

Hi KRA, I'd be more than happy to explain as I spent a considerable amount of time looking into this. I got my information straight from Intel's website since they're the ones that supply the drivers and hardware support libraries that enable QSV. From the Intel® Media Software Development Kit 2014 for Linux* Servers Release Notes:

 

 

Hardware

 

The following processor models are supported:

 

 Intel® Xeon® Processor E3-1285 v3 and E3-1285L v3 (Intel C226 Chipset) with Intel HD Graphics P4700

 4 th Generation Intel Core™ Processors with Intel Iris™ Pro Graphics, Intel Iris Graphics or Intel HD Graphics 4200+ Series

 3 rd Generation Intel Core Processors with Intel HD Graphics 4000/2500

 

The following processor models are supported but not recommended for new designs:

 Intel Xeon Processor E3-1285 v2 and E3-1285L v2 (Intel C216 Chipset) with Intel HD Graphics P4000

 

Please note: Intel Xeon processors are only supported with the chipsets listed. Intel Xeon configurations with other chipsets are not supported. Previous generations of Intel Core processors are not supported. Intel Celeron® and Intel Atom™ processors are also not supported.

 

Intel announced in July 2014 that this SDK version was scheduled for maintenance only, no new features or stability improvements would be made and that "Older versions [of the SDK] are not supported." Source: https://software.intel.com/en-us/intel-mediasdk-supported-versions-server

 

And lo and behold in the Intel® Media Server Studio 2015 – Driver, SDK for Linux* Release Notes:

 

 

Hardware

 

The following processor models are supported:

 

 5th Generation Intel Core™ Processors with Intel Iris™ Graphics or Intel HD Graphics (5500, 6000, 6100).

 Intel® Xeon® Processor E3-128x v3:

Intel® Xeon® Processor E3-1284 v3

Intel® Xeon® Processor E3-1285 v3

Intel® Xeon® Processor E3-1285L v3

Intel® Xeon® Processor E3-1286 v3

Intel® Xeon® Processor E3-1286L v3

 

 4 th Generation Intel Core™ Processors with Intel Iris™ Pro Graphics, Intel Iris Graphics or Intel HD Graphics 4200+ Series (chipset compatibility is usually not an issue for Core™ processors.)

 

Chipset limitations:

 Chipset must have processor graphics enabled, make sure to check the datasheet.

 Among Intel Server Chipsets only C226 is supported.

 For platforms/motherboards based on Intel Server Chipsets, having a C226 chipset is necessary but not sufficient. Make sure to consult with specific platform/board vendor regarding processor graphics being supported. Check our product website for the approved/recommended platforms list at https://software.intel.com/en-us/intel-media-server-studio/details#professional

 Intel Core processors earlier than 4 th Generation are not supported

 Intel Celeron®, Intel Pentium® and Intel Atom™ processors are not supported

 

This is what tells me QNAP are not using QSV, why I said that I don't consider CodexPack "proprietary hardware transcoding technology" and why I explicitly stated that my opinion is not a point of fact, as I don't believe QNAP have ever explained what they meant by that particular phrase.

 

the qnap bay-trail nas is sold with HW transcoding, and transcoding is quite fast for such a cpu so something is working right. When I checked it was using a combination of ffmpeg and gstreamer to do the job.

 

Sure, but they haven't stated what that means and they never claimed to be using QSV. Transcoding performance can be improved by a number of things as explained by one of Plex's developers (https://forums.plex.tv/discussion/comment/670646/#Comment_670646) when they were having this same discussion.

 

Which brings us right back to the beginning, hardware transcoding may be worth some effort but I believe that should come primarily from QNAP by opening up CodexPack to third party use. My comment earlier about repackaging CodexPack wasn't meant to be taken seriously because the HDStation dependency Qoolbox mentioned could be very difficult to work around, which I'm sure he knows already. I'm frustrated that I can't try doing this myself but unfortunately my TS-869L doesn't satisfy the HDStation 3 pre-requisite.

Link to comment
Share on other sites

@OddbOd

 

thank you for explaining, and providing the results of your research. I'm still not convinced though and I wonder if gstreamer is using a different approach than the ffmpeg based intel solution. I just did a test and @ 40% using gstreamer the J1900 transcoded and hour long 720p in minutes. My Xeon 1230v2 (no quicksync) needs 100% cpu and twice the time to do the same. Not directly comparable since different software is used to transcode but it gives an indication that the J1900 is doing something moore than brute force cpu power.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...