Jump to content

Emby as Service no Hardwaretranscoding


Go to solution Solved by Luke,

Recommended Posts

Posted

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

Posted

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

  • 1 month later...
  • Solution
Posted

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

  • Like 2
  • 1 month later...
Posted

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
Posted

Thanks for the feedback !

  • 5 months later...
brianbsmith
Posted

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

Posted

@@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)

brianbsmith
Posted

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!

brianbsmith
Posted

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

Posted

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.

brianbsmith
Posted

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

Posted (edited)

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
Posted

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?)

brianbsmith
Posted

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

Posted

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.

brianbsmith
Posted

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

Posted

Because yours doesn't support the same features when running headless.

Posted

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

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