Jump to content

Hardware transcoding doesn't seems to work


nesk_woe

Recommended Posts

nesk_woe
Dear Emby
 
I subscript to Emby Premiere looking for the support of hardware decoding capability of Emby, however, when I follow the guide to setup accordingly. I found the hardware decoding dosen't seems to be work on my NAS. you may check the video record in https://www.bilibili.com/video/BV1wt421A7DJ/?spm_id_from=333.999.0.0. my NAS is using a N5105 CPU it should be supporting h265 decode. and I try Jellyfin, it is working find. may I have your advice on it?

截屏2024-04-23 09.04.33.png

Link to comment
Share on other sites

Hello nesk_woe,

** This is an auto reply **

Please wait for someone from staff support or our members to reply to you.

It's recommended to provide more info, as it explain in this thread:


Thank you.

Emby Team

Link to comment
Share on other sites

nesk_woe

thank you Lessaj, I do try that, however, it is still the same

Link to comment
Share on other sites

guunter

Did you try playing the videos with subtitles turned off? PGS subtitles will force software transcoding.

Here's me playing the same video also with pgs...

image.thumb.png.cd82a59a5d40df6156e378e4dc330975.png

Link to comment
Share on other sites

Happy2Play

Little confused here as the server log show HEVC Decoder

	Decoders
	   hevc
	         QuickSync JasperLake UHD Graphics - H.265 (HEVC)
	         VAAPI JasperLake UHD Graphics - H.265 (HEVC)

But ffmpeg log does not.

>>>>>>  Selected Codecs
Decoder Automatic software decoder


Encoder QuickSync JasperLake UHD Graphics - H.264 (AVC)
        Adapter #0: 'JasperLake UHD Graphics' Id:20065 (Driver: , Vendor: 32902, SDK Version: 1.35)
        Max Bitrate: 234 Mbit/s - Frame Sizes: 32x32...4096x4096 - Width Alignment: 16 - Height Alignment: 16
        Color Formats: NV12 - Bit Depths: 8
        Profiles: Baseline Profile (Level 5.2), Main Profile (Level 5.2), High Profile (Level 5.2)


>>>>>>  FindVideoEncoder - MediaType: h264, UseHardwareCodecs: True, HWA-Mode: Advanced
Info    Checking: 'QuickSync JasperLake UHD Graphics - H.264 (AVC)'
Info    Check successful - selecting 'QuickSync JasperLake UHD Graphics - H.264 (AVC)'

>>>>>>  FindVideoDecoder - MediaType: hevc, UseHardwareCodecs: False, HWA-Mode: Advanced
Info    Checking: 'Automatic software decoder'
Info    Check successful - selecting 'Automatic software decoder'

Are you sure it is actually enabled as your image above does not show low enough.

Link to comment
Share on other sites

nesk_woe

Dear all

many thanks for your support, I do try the turn off the sub title, but doesn't seems to work any different. and the transcoding config is properly saved as below. also attached the latest log with sub title turn off for your further check

image.thumb.png.a7edc7928cda62162ece4252481c9c3d.png2024-04-2315_36_26.thumb.png.6bb219ddcdecc24d0661bf36cef85beb.png

 

2024-04-2315_32_42.thumb.png.1eba9045cf3cb5a87fb8b621c48703cc.png

ffmpeg-transcode-f18950db-380b-4ac3-9897-ec2e85945863_1.txt ffmpeg-transcode-74b5ce7a-9471-4944-a982-17003da28586_1.txt ffmpeg-transcode-f9cda38c-fe27-468f-b019-150375e00eb0_1.txt embyserver.txt

Link to comment
Share on other sites

wedgekc

In the past I have used that same cpu.  It can be tricky depending on what OS and kernel you are using but sometimes the GUC must be turned on by adding "options i915 enable_guc=3"  to: /etc/modprobe.d/i915.conf

If you do a google search on the option above you can find more info and see if it applies to your situation.  My issue was similar, all the transcoding options were there but it wouldn't transcode. 

 

Link to comment
Share on other sites

nesk_woe

hi wedgekc, thank you for the update, I am running the server from docker,  image is linuxserver/emby:latest, for os, do you mean the os that my NAS is running on? I am not able to locate /etc/modprobe.d/i915.conf within the container.

Link to comment
Share on other sites

wedgekc

Yes, what are you using for your NAS os, synology?  My experience is with Debian.  The command I mentioned would be used on the host with the gpu.  As I understand it, the low power encoder/decoder must be enabled for transcoding to work.  If you can get to a terminal you can try running:  "sudo cat /sys/kernel/debug/dri/0/gt/uc/guc_info" (you may or may not need to use sudo at the beginning) or maybe try "sudo dmesg | grep GuC" and see what is returned .  Sorry, but I don't have any experience with Synology and I don't know if things I am mentioning are even possible to do with it.  

Link to comment
Share on other sites

nesk_woe

Not Synology, it is Chinese band NAS, os call UGOS, I am not able to open the terminal of it to check on that. strange that Jellyfin working normal with similar docker deployment

Link to comment
Share on other sites

nesk_woe

sorry, there is no docker compose file could be provide, as I am using a embed docker tool. but if below logs tells the reason why it is failing?

 

>>>>>> Processing Plan
Name CanDoInHW WillDoInHW Reason 
Automatic software decoder >> False False Software Codec 
VideoInput >> False False Not a hardware decoder 
ToneMapping (when possible) >> True True 
VideoOutput >> True True Hardware encoder 
QuickSync JasperLake UHD Graphics - H... >> True True Hardware Codec 
 
>>>>>> Video Processing Steps for [0:0]: H.265 (HEVC)
Step HW-Context Format SW-Format Size Next
HEVC >> - yuv420p10 yuv420p10 3840x2160 >> hwupload
hwupload >> QSV qsv p010 3840x2160 >> vpp_qsv
vpp_qsv >> QSV qsv nv12 3840x2160 >> 
 
>>>>> Non-Default Encoder Parameters
Warning EncoderParametersH264Qsv.LowPowerEncoding: Original: False Actual: True
 
/app/emby/bin/ffmpeg -loglevel +timing -y -print_graphs_file "/config/logs/ffmpeg-transcode-cf456497-ceed-47f7-ab2a-ae71f5687278_1graph.txt" -copyts -start_at_zero -init_hw_device "qsv=qsvdev:hw_any,child_device=/dev/dri/renderD128" -filter_hw_device qsvdev -ss 00:03:18.000 -c:v:0 hevc -noautorotate -i "/data1/[4ksj.net]铃芽之旅.Suzume.2022.2160p.UHD.BluRay.HDR10.HEVC.10bit.DTS-HD.MA.5.1-4K世界/BDMV/STREAM/00000.m2ts" -filter_complex "[0:0]hwupload@f1=extra_hw_frames=64,vpp_qsv@f2=format=nv12[f2_out0]" -map [f2_out0] -map 0:1 -sn -c:v:0 h264_qsv -b:v:0 55291293 -g:v:0 72 -maxrate:v:0 55291293 -bufsize:v:0 110582586 -keyint_min:v:0 72 -r:v:0 23.976024627685547 -low_power:v:0 1 -profile:v:0 high -aud:v:0 1 -c:a:0 aac -ab:a:0 192000 -ac:a:0 2 -filter:a:0 "volume=2" -disposition:a:0 default -max_delay 5000000 -avoid_negative_ts disabled -f segment -map_metadata -1 -map_chapters -1 -segment_format mpegts -segment_list "/config/transcoding-temp/C7991D/C7991D.m3u8" -segment_list_type m3u8 -segment_time 00:00:03.000 -segment_start_number 66 -individual_header_trailer 0 -write_header_trailer 0 -segment_write_temp 1 "/config/transcoding-temp/C7991D/C7991D_%d.ts"
 
00:17:16.514 ffmpeg version 5.1-emby_2023_06_25 Copyright (c) 2000-2022 the FFmpeg developers and softworkz for Emby LLC
00:17:16.514 built with gcc 10.3.0 (crosstool-NG 1.25.0)
00:17:16.514 Execution Date: 2024-04-27 00:17:16
00:17:16.584 [mpegts @ 0x148de40] start time for stream 3 is not set in estimate_timings_from_pts
00:17:16.584 [mpegts @ 0x148de40] start time for stream 4 is not set in estimate_timings_from_pts
00:17:16.584 [mpegts @ 0x148de40] start time for stream 5 is not set in estimate_timings_from_pts
Link to comment
Share on other sites

Dear helpers

 

many thanks for help, I think I found the root cause, it was still PGS subtitles force software transcoding. but it seems cause by safari, I do turn off subtitle on safari, but it doesn't seems works, however, if I switch to edge, the problem solved.

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