Jump to content

Emby as Service no Hardwaretranscoding


5e`qVoih
Go to solution Solved by Luke,

Recommended Posts

5e`qVoih

Hello,

 

I'm starting Emby as a Service (NSSM) on my NAS and noticed it isn't using hardwaretranscoding since version 4.

Starting Emby as normal user (RDP session) it uses hardwaretranscoding with intel quicksync.

I guess Emby isn't detecting the hardware, because of no connected display, or something?

 

I attached the hardware detect logfiles.

 

 

P.S.: Thanks a lot for Emby. I really love it!

emby_user_HD.txt

emby_service_HD.txt

Link to comment
Share on other sites

5e`qVoih

Thanks a lot, that answered my question.

 

 
Remarks
  • Emby currently does not support headless operation with Intel QuickSync You will either need to connect a physical monitor to the video output or you can acquire a "dummy monitor plug" to make the GPU think that a monitor is connected
  • QuickSync acceleration does not work when Emby is run as a Windows service

Note: Support for headless mode is planned for the future

Link to comment
Share on other sites

  • 1 month later...
  • Solution

Emby Server 4.1+ will feature support for hardware transcoding in a headless environment. Thanks.

  • Like 2
Link to comment
Share on other sites

  • 1 month later...
5e`qVoih

Thanks a lot for your work and the newest version! Quicksync is working now headless, which makes me really happy. Keep on the great work .
 

  • Like 1
Link to comment
Share on other sites

  • 5 months later...

@@softworkz Is QuickSync acceleration when running as a Windows service planned for a future release?

 

It should actually work already, but it requires Windows 8 or later.

(it might work on Win7 with the DX11 system update)

Link to comment
Share on other sites

brianbsmith

Yes, I've read the guide for Windows https://github.com/MediaBrowser/Wiki/wiki/Hardware-Acceleration-on-Windows.  It states "QuickSync acceleration does not work when Emby is run as a Windows service".  (According to the guide, only Nvidia transcoding is supported as a Windows service.)  This appears to be true in my Windows 10 desktop with QuickSync: When I run Emby as an app - The Emby dashboard confirms HW acceleration.  When I run as a service (nssm) with the exact same environment (client, server, network, recording, etc.), the Emby dashboard reports SW transcoding.  I've also confirmed via the "Stats for Nerds" pop-up on my LG TV.

 

It appears to be a known limitation.  Just wondering iQuickSync acceleration will be supported as a Windows service is on the roadmap?

 

Thanks!

Link to comment
Share on other sites

brianbsmith

Sorry I'm confused.  If you are saying that the documentation is incorrect, and it is actually supported - then I'll have to submit log files for assistance in diagnosing why it doesn't work on my Windows 10 desktop.  Thanks

Link to comment
Share on other sites

Sorry I'm confused.  If you are saying that the documentation is incorrect, and it is actually supported - then I'll have to submit log files for assistance in diagnosing why it doesn't work on my Windows 10 desktop.  Thanks

 

When the docs were written, we only had the default QuickSync implementation that ffmpeg provides, which is using DirectX 9.

DX9 requires an active desktop session (not a service session) with an active display (not headless).

 

That's the state of the docs.

 

Later we extended our custom ffmpeg to support QuickSync via DirectX 11 which does not have both of the above limitations.

Headless operation has been tested working fine in all cases so far. 

Operation running as a Windows service has not been tested that much, but it should actually work as it's the same thing.

 

So - yes, it would be great if you could post the hw detection log - ideally from both cases: service and non-service.

Link to comment
Share on other sites

brianbsmith

Attached are the files when running as an Application (non-service).  In the transcoding settings, 3 devices are found but only 1 is enabled.  The selected device only appears when running as an application.  The dashboard snapshot shows the QuickSync HW transcoding is being used.  I'll upload the service files separately.

post-437140-0-61250900-1570303836_thumb.jpg

post-437140-0-17724000-1570303850_thumb.jpg

APP-ffmpeg-transcode-5bedf39c-8a8e-44cb-a91b-427faa2021d2_1.txt

Link to comment
Share on other sites

So - yes, it would be great if you could post the hw detection log - ideally from both cases: service and non-service.

Edited by softworkz
Link to comment
Share on other sites

From the side of the detection, all goes well, but your installed Intel drivers support API level 1.11 only - which is pretty old.

 

What CPU do you have and what graphics drivers are installed? (Windows-integrated or direct from Intel?)

Link to comment
Share on other sites

brianbsmith

CPU Intel Core i5 3330S  Ivy Bridge

Intel HD Graphics Driver 10.18.10.5069  12/27/2018

 

I used the Intel update tool months ago, and it did update the driver(s).

Link to comment
Share on other sites

CPU Intel Core i5 3330S  Ivy Bridge

Intel HD Graphics Driver 10.18.10.5069  12/27/2018

 

I used the Intel update tool months ago, and it did update the driver(s).

 

Your hardware doesn't support the required DirectX 11 level.

 

There's a newer driver (15.33), but I don't think that this would make any change.

 

So, the simple answer is: Your CPU is too old for this.

Link to comment
Share on other sites

Thanks @@softworkz.  Confused - if it was a CPU issue - why does it work when running as an app?

 

As an app it uses DirecX 9. Headless/service requires DirectX 11.1

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...