mholin 17 Posted April 23, 2019 Share Posted April 23, 2019 Hello everybody. I'm facing this issue that emby server 4.1.026 does only use software decoder for HEVC during transcode process. This leads to about 80-90% cpu usage for ffmpeg. I tried to install the lastest Intel 4600 drivers dated march 2019. CPU is i5-4570t but emby is not willing to see hw acceleration for decode h265. Log from embyserver.txt: 2019-04-23 12:42:33.451 Info QuickSyncCodecProvider: ProcessRun 'ffdetect_qsvencdec' Process exited with code 02019-04-23 12:42:33.544 Info QuickSyncCodecProvider: Adapter #0: 'Intel® HD Graphics 4600' Id:1042 (Driver: 1310739.988103, Vendor: 32902)2019-04-23 12:42:33.604 Info QuickSyncDx11CodecProvider: ffdetect -hide_banner -show_program_version -loglevel 48 -show_error -show_log 40 qsvencdec -print_format json 2019-04-23 12:42:33.604 Info QuickSyncDx11CodecProvider: ProcessRun 'ffdetect_qsvencdec' Execute: C:\Users\mh\AppData\Roaming\Emby-Server\system\ffdetect.exe -hide_banner -show_program_version -loglevel 48 -show_error -show_log 40 qsvencdec -print_format json Log from ffmpeg-transcode contains this block: "Debug: DXGI Factory created","Debug: Detected 2 video adapters.","Info: Adapter #0: 'Intel® HD Graphics 4600' Id:1042 (Driver: , Vendor: 32902)","Debug: Device successfully created","Debug: VideoDevice successfully created","Info: ee27417f-5e28-4e65-beea-1d26b508adc9: DXVA2_ModeMPEG2_VLD MPEG-2 variable-length decoder - mpeg2video","Info: bf22ad00-03ea-4690-8077-473346209b7e: DXVA2_ModeMPEG2_IDCT MPEG-2 inverse discrete cosine transform - mpeg2video","Info: 1b81bea4-a0c7-11d3-b984-00c04f2e73c5: DXVA2_ModeVC1_D2010 VC-1 variable-length decoder (2010) - vc1","Info: e07ec519-e651-4cd6-ac84-1370cceec851: DXVA2_Intel_VC1_ClearVideo_2 VC-1 variable-length decoder 2 (Intel) - vc1","Info: bcc5db6d-a2b6-4af0-ace4-adb1f787bc89: DXVA2_Intel_VC1_ClearVideo VC-1 variable-length decoder (Intel) - vc1","Info: 1b81be94-a0c7-11d3-b984-00c04f2e73c5: DXVA2_ModeWMV9_C Windows Media Video 9 inverse discrete cosine transform - wmv3","Info: 1b81bea2-a0c7-11d3-b984-00c04f2e73c5: DXVA2_ModeVC1_C VC-1 inverse discrete cosine transform - vc1","Info: 1b81be68-a0c7-11d3-b984-00c04f2e73c5: DXVA2_ModeH264_E H.264 variable-length decoder, no film grain technology - h264","Info: d79be8da-0cf1-4c81-b82a-69a4e236f43d: DXVA2_ModeH264_VLD_Stereo_Progressive_NoFGT H.264 MVC variable-length decoder, stereo, progressive - h264","Info: f9aaccbb-c2b6-4cfc-8779-5707b1760552: DXVA2_ModeH264_VLD_Stereo_NoFGT H.264 MVC variable-length decoder, stereo - h264","Info: 705b9d82-76cf-49d6-b7e6-ac8872db013c: DXVA2_ModeH264_VLD_Multiview_NoFGT H.264 MVC variable-length decoder, multiview - h264","Info: 91cd2d6e-897b-4fa1-b0d7-51dc88010e0a: - ","Info: 97688186-56a8-4094-b543-fc9daaa49f4b: - ","Info: c346e8a3-cbed-4d27-87cc-a70eb4dc8c27: - ","Info: ffc79924-5eaf-4666-a736-06190f281443: - ","Info: f416f7bd-098a-4cf1-a11b-ce54959ca03d: - ","Info: bf44dacd-217f-4370-a383-d573bc56707e: - ","Info: 2364d06a-f67f-4186-aed0-62b99e1784f1: - ","Info: 8c56eb1e-2b47-466f-8d33-7dbcd63f3df2: - ","Info: 5b11d51b-2f4c-4452-bcc3-09f2a1160cc0: DXVA2_ModeHEVC_VLD_Main H.265 variable-length decoder, Main profile - hevc","Info: 49761bec-4b63-4349-a5ff-87ffdf088466: - ","Info: CheckDecoderDetails: MediaType: mpeg2video","Debug: DXVA2_ModeMPEG2_VLD - ColorFormat #0: NV12 => nv12", [some lines deleted] "Debug: Max Resolution: 4096x2160","Info: >>>> Adding video decoder for type: hevc","Debug: Dispose DecoderService","Debug: DecoderService disposed","Debug: Dispose Dx11Device","Debug: Dx11Device disposed","Debug: Dispose DXGI Factory","Debug: DXGI Factory disposed" ] DXDiag executed on my machine tells me this is DX12 but DX11 and DX11.1 features a included: DirectX Version: DirectX 12 Display Tab 1: No problems found. Card name: Intel® HD Graphics 4600 Manufacturer: Intel Corporation Chip type: Intel® HD Graphics Family DAC type: Internal Device Type: Full Device (POST) Device Key: Enum\PCI\VEN_8086&DEV_0412&SUBSYS_30A317AA&REV_06 Device Status: 0180200A [DN_DRIVER_LOADED|DN_STARTED|DN_DISABLEABLE|DN_NT_ENUMERATOR|DN_NT_DRIVER] Device Problem Code: No Problem Driver File Version: 20.19.0015.5063 (English) Driver Version: 20.19.15.5063 DDI Version: 12 Feature Levels: 11_1,11_0,10_1,10_0,9_3,9_2,9_1 Driver Model: WDDM 2.0 Graphics Preemption: Primitive ompute Preemption: Thread group any ideas how I can get the hardware decoding working here? thanks Michael Link to comment Share on other sites More sharing options...
Sammy 738 Posted April 23, 2019 Share Posted April 23, 2019 Where did you get the latest drivers? Link to comment Share on other sites More sharing options...
mholin 17 Posted April 23, 2019 Author Share Posted April 23, 2019 from here https://downloadcenter.intel.com/de/product/81496/Intel-HD-Grafik-4600 but in fact I am wondering why I installed this 15.40.42.5063 and my systems tells me 20.19.15.5063 dated october 2018 but anyway, the cpu is from year 2013. Can I expect this hardware decoding only in drivers dated 2019??? Link to comment Share on other sites More sharing options...
PenkethBoy 2063 Posted April 23, 2019 Share Posted April 23, 2019 A cpu of that vintage does not support H265 via quicksync I have a i7 4790s and H265 decode is not possible Hence why Emby does not support it Link to comment Share on other sites More sharing options...
chacawaca 106 Posted April 23, 2019 Share Posted April 23, 2019 https://en.wikipedia.org/wiki/Intel_Quick_Sync_Video seem to not be possible before Version 5 (Skylake) Link to comment Share on other sites More sharing options...
mholin 17 Posted April 23, 2019 Author Share Posted April 23, 2019 hm. I'm still wondering, that the VLC player can playback my sample video of GameOfThrones encoded in h265 with only 20% cpu power on this cpu. I've found this post: https://software.intel.com/en-us/forums/intel-media-sdk/topic/703284 looks like some plugin has to be include during compiling process with Media SDK MFX_PLUGINID_HEVCD_HW plugin can please somebody add this plugin to the next release? I'm willing to support testing... thanks Michael Link to comment Share on other sites More sharing options...
Luke 37183 Posted April 23, 2019 Share Posted April 23, 2019 Have you followed our hardware acceleration setup guide? https://github.com/MediaBrowser/Wiki/wiki/Hardware-Acceleration-Overview Link to comment Share on other sites More sharing options...
PenkethBoy 2063 Posted April 23, 2019 Share Posted April 23, 2019 the difference in cpu % is that emby trys to do the transcode as fast as possible - unless you use the throttle option - so a comparison with VLC is not very valid The cpu does not have the hw decoder/encoder for H265 - but can do it via the cpu which is what you are seeing Only way around this is to get/use newer hardware - if you can afford that or is an option to you Link to comment Share on other sites More sharing options...
mholin 17 Posted April 23, 2019 Author Share Posted April 23, 2019 I have throtteling enabled. I guess this is why I have only 70% cpu in ffmpeg. I'm fine with the system in h264 world. But h265 seems to be not supported by emby server, maybe do to the miss of this plugin mentioned above. If you deal with Intel Media SDK for windows version, please somebody may try out this plugin in the next release. There are lots of thousands Intel 4th gen cpus out there which could benefit. thank you Michael Link to comment Share on other sites More sharing options...
PenkethBoy 2063 Posted April 23, 2019 Share Posted April 23, 2019 H265 IS supported by Emby - IF - your hardware supports it With your cpu thats not the case and adding software plugins is not going to change that Link to comment Share on other sites More sharing options...
mholin 17 Posted April 23, 2019 Author Share Posted April 23, 2019 (edited) Hello PenkethBoy I'm are not sure if this is true. Several sources claim this: https://en.wikipedia.org/wiki/Intel_Graphics_Technology#Capabilities_(GPU_video_acceleration) https://forum.kodi.tv/showthread.php?tid=215305 and, most interesting, the extract from the ffmpeg Logfile, when emby-server asks videodriver, what it can handle: "Info: Adapter #0: 'Intel® HD Graphics 4600' Id:1042 (Driver: , Vendor: 32902)","Debug: Device successfully created","Debug: VideoDevice successfully created","Info: ee27417f-5e28-4e65-beea-1d26b508adc9: DXVA2_ModeMPEG2_VLD MPEG-2 variable-length decoder - mpeg2video","Info: bf22ad00-03ea-4690-8077-473346209b7e: DXVA2_ModeMPEG2_IDCT MPEG-2 inverse discrete cosine transform - mpeg2video","Info: 1b81bea4-a0c7-11d3-b984-00c04f2e73c5: DXVA2_ModeVC1_D2010 VC-1 variable-length decoder (2010) - vc1","Info: e07ec519-e651-4cd6-ac84-1370cceec851: DXVA2_Intel_VC1_ClearVideo_2 VC-1 variable-length decoder 2 (Intel) - vc1","Info: bcc5db6d-a2b6-4af0-ace4-adb1f787bc89: DXVA2_Intel_VC1_ClearVideo VC-1 variable-length decoder (Intel) - vc1","Info: 1b81be94-a0c7-11d3-b984-00c04f2e73c5: DXVA2_ModeWMV9_C Windows Media Video 9 inverse discrete cosine transform - wmv3","Info: 1b81bea2-a0c7-11d3-b984-00c04f2e73c5: DXVA2_ModeVC1_C VC-1 inverse discrete cosine transform - vc1","Info: 1b81be68-a0c7-11d3-b984-00c04f2e73c5: DXVA2_ModeH264_E H.264 variable-length decoder, no film grain technology - h264","Info: d79be8da-0cf1-4c81-b82a-69a4e236f43d: DXVA2_ModeH264_VLD_Stereo_Progressive_NoFGT H.264 MVC variable-length decoder, stereo, progressive - h264","Info: f9aaccbb-c2b6-4cfc-8779-5707b1760552: DXVA2_ModeH264_VLD_Stereo_NoFGT H.264 MVC variable-length decoder, stereo - h264","Info: 705b9d82-76cf-49d6-b7e6-ac8872db013c: DXVA2_ModeH264_VLD_Multiview_NoFGT H.264 MVC variable-length decoder, multiview - h264","Info: 91cd2d6e-897b-4fa1-b0d7-51dc88010e0a: - ","Info: 97688186-56a8-4094-b543-fc9daaa49f4b: - ","Info: c346e8a3-cbed-4d27-87cc-a70eb4dc8c27: - ","Info: ffc79924-5eaf-4666-a736-06190f281443: - ","Info: f416f7bd-098a-4cf1-a11b-ce54959ca03d: - ","Info: bf44dacd-217f-4370-a383-d573bc56707e: - ","Info: 2364d06a-f67f-4186-aed0-62b99e1784f1: - ","Info: 8c56eb1e-2b47-466f-8d33-7dbcd63f3df2: - ","Info: 5b11d51b-2f4c-4452-bcc3-09f2a1160cc0: DXVA2_ModeHEVC_VLD_Main H.265 variable-length decoder, Main profile - hevc","Info: 49761bec-4b63-4349-a5ff-87ffdf088466: - ","Info: CheckDecoderDetails: MediaType: mpeg2video","Debug: DXVA2_ModeMPEG2_VLD - ColorFormat #0: NV12 => nv12", so according to https://software.intel.com/en-us/forums/intel-media-sdk/topic/703284 only one more option to include one more plugin is needed during preparing the code with Media SDK. @@dev team: please try this!! bye Michael Edited April 23, 2019 by mholin 1 Link to comment Share on other sites More sharing options...
Sammy 738 Posted April 23, 2019 Share Posted April 23, 2019 nVidia ShieldTV plays h265 but hiccups sometimes. Probably a bad encode more than anything. Link to comment Share on other sites More sharing options...
KarlDag 25 Posted April 24, 2019 Share Posted April 24, 2019 (edited) Hello PenkethBoy I'm are not sure if this is true. Several sources claim this: https://en.wikipedia.org/wiki/Intel_Graphics_Technology#Capabilities_(GPU_video_acceleration) https://forum.kodi.tv/showthread.php?tid=215305 and, most interesting, the extract from the ffmpeg Logfile, when emby-server asks videodriver, what it can handle: "Info: Adapter #0: 'Intel® HD Graphics 4600' Id:1042 (Driver: , Vendor: 32902)", "Debug: Device successfully created", "Debug: VideoDevice successfully created", "Info: ee27417f-5e28-4e65-beea-1d26b508adc9: DXVA2_ModeMPEG2_VLD MPEG-2 variable-length decoder - mpeg2video", "Info: bf22ad00-03ea-4690-8077-473346209b7e: DXVA2_ModeMPEG2_IDCT MPEG-2 inverse discrete cosine transform - mpeg2video", "Info: 1b81bea4-a0c7-11d3-b984-00c04f2e73c5: DXVA2_ModeVC1_D2010 VC-1 variable-length decoder (2010) - vc1", "Info: e07ec519-e651-4cd6-ac84-1370cceec851: DXVA2_Intel_VC1_ClearVideo_2 VC-1 variable-length decoder 2 (Intel) - vc1", "Info: bcc5db6d-a2b6-4af0-ace4-adb1f787bc89: DXVA2_Intel_VC1_ClearVideo VC-1 variable-length decoder (Intel) - vc1", "Info: 1b81be94-a0c7-11d3-b984-00c04f2e73c5: DXVA2_ModeWMV9_C Windows Media Video 9 inverse discrete cosine transform - wmv3", "Info: 1b81bea2-a0c7-11d3-b984-00c04f2e73c5: DXVA2_ModeVC1_C VC-1 inverse discrete cosine transform - vc1", "Info: 1b81be68-a0c7-11d3-b984-00c04f2e73c5: DXVA2_ModeH264_E H.264 variable-length decoder, no film grain technology - h264", "Info: d79be8da-0cf1-4c81-b82a-69a4e236f43d: DXVA2_ModeH264_VLD_Stereo_Progressive_NoFGT H.264 MVC variable-length decoder, stereo, progressive - h264", "Info: f9aaccbb-c2b6-4cfc-8779-5707b1760552: DXVA2_ModeH264_VLD_Stereo_NoFGT H.264 MVC variable-length decoder, stereo - h264", "Info: 705b9d82-76cf-49d6-b7e6-ac8872db013c: DXVA2_ModeH264_VLD_Multiview_NoFGT H.264 MVC variable-length decoder, multiview - h264", "Info: 91cd2d6e-897b-4fa1-b0d7-51dc88010e0a: - ", "Info: 97688186-56a8-4094-b543-fc9daaa49f4b: - ", "Info: c346e8a3-cbed-4d27-87cc-a70eb4dc8c27: - ", "Info: ffc79924-5eaf-4666-a736-06190f281443: - ", "Info: f416f7bd-098a-4cf1-a11b-ce54959ca03d: - ", "Info: bf44dacd-217f-4370-a383-d573bc56707e: - ", "Info: 2364d06a-f67f-4186-aed0-62b99e1784f1: - ", "Info: 8c56eb1e-2b47-466f-8d33-7dbcd63f3df2: - ", "Info: 5b11d51b-2f4c-4452-bcc3-09f2a1160cc0: DXVA2_ModeHEVC_VLD_Main H.265 variable-length decoder, Main profile - hevc", "Info: 49761bec-4b63-4349-a5ff-87ffdf088466: - ", "Info: CheckDecoderDetails: MediaType: mpeg2video", "Debug: DXVA2_ModeMPEG2_VLD - ColorFormat #0: NV12 => nv12", so according to https://software.intel.com/en-us/forums/intel-media-sdk/topic/703284 only one more option to include one more plugin is needed during preparing the code with Media SDK. @@dev team: please try this!! bye Michael You're mixing in playback with quick sync. They are not the same thing. The first gen that partially supported h265 in hardware QUICKSYNC was Skylake. Many Lake is the first gen with 100% hardware support for hevc 10bit. In your case, if you really need It, go get a RX570, you'll get great hardware acceleration for about 130US$. Edited April 24, 2019 by KarlDag Link to comment Share on other sites More sharing options...
mholin 17 Posted April 24, 2019 Author Share Posted April 24, 2019 this is some kind of luxury problem: above is my private data center. I first tried to run emby directly on the DS1813. But it's CPU is only able to direct streaming. For most forms of transcoding, it is to weak. Than I bought this Tiny Lenovo M93P with the i5-4570. This comes with SSD is really nice for hosting the emby server software. But - currently - no hardware based h265 decode, so I run into 70-90% CPU usage here. A more recent Tiny PC with gen6 Intel is about 400€ which I cannot spend on emby transcoding. but maybe some guy from the emby team reads all this long postings above and does try this miracle plugin switch mentionend in the intel developer forum. thanks Michael Link to comment Share on other sites More sharing options...
Luke 37183 Posted April 24, 2019 Share Posted April 24, 2019 We'll see what @@softworkz thinks. Thanks. Link to comment Share on other sites More sharing options...
Gerrit507 24 Posted April 24, 2019 Share Posted April 24, 2019 You see a higher CPU load with emby because it's decoding and encoding. VLC is only decoding when you play a movie. Both programs use ffmpeg so the performance should be equivalent. According to the log you posted the GPU and the included version of ffmpeg support DXVA2 decoding and not quicksync. Are you able to choose DXVA2 h265 decoder? 1 Link to comment Share on other sites More sharing options...
softworkz 3341 Posted April 26, 2019 Share Posted April 26, 2019 @@mholin - Could you please post your full hw detection log? Let me add that you've been mixing up a few things: DXVA2 is something totally different from QuickSync and these do not always support the same set of codecs. When you see a DXVA2 HEVC Decoder, it doesn't necessarily mean that a QuickSync HEVC decoder is available. Regarding QuickSync. On Windows, the HEVC-Hardware decoder plugin is part of the Intel graphics driver and we're loading it automatically. But if the hardware does not support it, it obviously doesn't work. We do not support QuickSync software implementations (plugins). When there's no hardware support, we're using our normal software implementations instead. Regarding CPU load when comparing to VLC, please refer to the post from @@Gerrit507 above. Also, you need to consider that Emby is transcoding as fast as possible by default (without throttling) while VLC is only decoding for playback speed. Link to comment Share on other sites More sharing options...
mholin 17 Posted April 27, 2019 Author Share Posted April 27, 2019 ok guys, I guess I have to take it. thanks for the explanations. I'm going to get a HP Prodesk 600 G2 tiny PC with Intel i5-6500T Skylake This should be able to hardware decode and even encode h265. bye Michael Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now