Jump to content

Video stuttering despite HW acceleration


Recommended Posts

ColdChamber
Posted

Hello all,

I bought emby premium today because I wanted to test the HW acceleration for 4k HEVC videos. Basically the acceleration seems to work with my i3-6100, but the video stutters every 2-3 seconds and I am now looking for the reason. It is an i3-6100 and as OS I use Arch Linux. The emby version is the latest and I use the ffmpeg version of emby. The hardware acceleration seems to work successfully as attached image shows.

Despite the HW acceleration, the CPU is practically at its limit. This is probably the cause for the stuttering. The only noticeable thing in the logs is the following message: "NoMatch The color format (yuv420p10, p010) is not supported)".

Unfortunately I have no experience to evaluate if this can be the problem. I attach the log once, maybe someone here can see more than me.

Anyway, I would be very grateful for any hint! :)

 

Screenshot from 2022-08-14 17-05-15.png

ffmpeg-transcode-08d5d14e-5fb1-43fa-b128-63047897ee3e_1.txt

Posted

Hi, since you're on arch linux, can you try following these steps and see if it helps?

Thanks !

ColdChamber
Posted

Hi,

thanks for your feedback. Short feedback in advance: For the mentioned package to work, I had to install "ocl-icd" first, otherwise libOpenCL.so.1 was missing.

Otherwise, it seems that the "own" ffmpeg is now used:

2022-08-16 19:55:04.860 Info FfmpegManager: ProcessRun 'ffmpeg -hide_banner -version' Execute: /opt/emby-server/bin/ffmpeg -hide_banner -version
2022-08-16 19:55:04.901 Info FfmpegManager: ProcessRun 'ffmpeg -hide_banner -version' Process exited with code 0 - Succeeded
2022-08-16 19:55:04.910 Info FfmpegManager: ProcessRun 'ffmpeg -hide_banner -decoders' Execute: /opt/emby-server/bin/ffmpeg -hide_banner -decoders
2022-08-16 19:55:04.930 Info FfmpegManager: ProcessRun 'ffmpeg -hide_banner -decoders' Process exited with code 0 - Succeeded
2022-08-16 19:55:04.961 Info FfmpegManager: ProcessRun 'ffmpeg -hide_banner -encoders' Execute: /opt/emby-server/bin/ffmpeg -hide_banner -encoders
2022-08-16 19:55:05.018 Info FfmpegManager: ProcessRun 'ffmpeg -hide_banner -encoders' Process exited with code 0 - Succeeded
2022-08-16 19:55:05.027 Info FfmpegManager: ProcessRun 'ffmpeg -hide_banner -hwaccels' Execute: /opt/emby-server/bin/ffmpeg -hide_banner -hwaccels
2022-08-16 19:55:05.059 Info FfmpegManager: ProcessRun 'ffmpeg -hide_banner -hwaccels' Process exited with code 0 - Succeeded
2022-08-16 19:55:05.068 Info FfmpegManager: ProcessRun 'ffmpeg -hide_banner -protocols' Execute: /opt/emby-server/bin/ffmpeg -hide_banner -protocols
2022-08-16 19:55:05.100 Info FfmpegManager: ProcessRun 'ffmpeg -hide_banner -protocols' Process exited with code 0 - Succeeded
2022-08-16 19:55:05.104 Info FfmpegManager: ProcessRun 'ffmpeg -hide_banner -filters' Execute: /opt/emby-server/bin/ffmpeg -hide_banner -filters
[...]
2022-08-16 19:55:06.337 Info CodecManager: CodecList:
	Decoders
	   mpeg2video
	         VAAPI HD Graphics 530 - MPEG-2
	   h264
	         VAAPI HD Graphics 530 - H.264 (AVC)
	   vc1
	         VAAPI HD Graphics 530 - VC-1
	   vp8
	         VAAPI HD Graphics 530 - VP8
	   hevc
	         VAAPI HD Graphics 530 - H.265 (HEVC)
	Encoders
	   h264
	         VAAPI HD Graphics 530 - H.264 (AVC)
	   hevc
	         VAAPI HD Graphics 530 - H.265 (HEVC)

However, this unfortunately does not change the effect. I could imagine that the stopping has become minimally less, however I cannot reliably determine this on the fly.

I will have a look in the days to see if I can determine more precisely if it got better.

However, one question: Is there any way to determine if the CPU is the limiting factor despite HWA? And not the software or filesystem? Because currently the CPU is hard at the limit.

 

Screenshot from 2022-08-16 20-05-24.png

Posted

So in the log example you posted, it is doing a 4K to 4K conversion. Maybe that is a bit much? This is happening due to the quality setting in the web app, which I'm assuming you have on Auto.

You could try lowering it so that it does a 4K to 1080p conversion instead. That should perform better. Please note that lowering the quality setting may also cause unwanted transcoding for other videos, so it's just something you have to remember to switch back when you're done.

We probably need a better way of handling that like some kind of cap on the server so that 4K is not transcoded back to 4K, which in many cases will be too much for a server to handle.

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