mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-05-04 18:09:12 +03:00
[Issue]: HEVC on Chrome - bugged for longer videos? #4227
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @ireun on GitHub (Sep 26, 2022).
Please describe your bug
Hello!
First of all, I have enabled HEVC decoding in Chrome as explained in https://github.com/StaZhu/enable-chromium-hevc-hardware-decoding#readme
My problem is, that it works fine for TV Series (for example Westworld.S04.1080p.WEBRip.x265-RARBG), but not for Movies (for example La.La.Land.2016.1080p.BluRay.x265-RARBG). Despite the fact that both of these use the same codecs:
Both of these play fine in VLC, but in Jellyfin "La.La.Land" drops frames, basically looks like a slideshow.. https://streamable.com/5u28wv

Jellyfin Version
10.8.0
if other:
No response
Environment
Jellyfin logs
FFmpeg logs
No response
Please attach any browser or client logs here
No response
Please attach any screenshots here
No response
Code of Conduct
@nyanmisaka commented on GitHub (Sep 26, 2022):
From the clip it seems that the browser cannot handle HEVC b-frames well and produces disordered output.
There's nothing we can do to affect the decoding process of Chrome. HEVC decoding support in Chrome is still in an early stage, any related issue should be reported to https://bugs.chromium.org/p/chromium/issues/list
You can also try Chrome 107 canary to see if there have some fixes.
@StaZhu commented on GitHub (Sep 28, 2022):
@ireun You can directly drag and drop the mp4 file to the browser to see if this problem still exists.
Looks like the file itself write an incorrect timestamp and not able to match to its frame picture order count which finally causes chrome drop frames.
Anyway, If it doesnt work, you can also provide a http link or magnet link of the file.
@nyanmisaka commented on GitHub (Sep 28, 2022):
Jellyfin uses h5 video element to handle HEVC playback, which is the same as you said.
The symptom is pretty much identical to the MS Edge HEVC stuttering issue a year ago that caused by the HEVC plugin and Media Foundation decoder of MS Edge. But Chrome doesn't use MF decoder or plugin.
@StaZhu commented on GitHub (Sep 28, 2022):
Its mostly like because of the video itself write incorrect timestamp, simple use ffmpeg convert a .mp4 file to .hevc bistream then convert it back to mp4 will reproduce the symptom, @reporter can you also test this movie on microsoft edge to see if it has the same symptom?
@ireun commented on GitHub (Sep 28, 2022):
Right, thanks for the idea - the symptom is the same.
I think you wanted to mention me ;) - Tested on Edge, please note that I have "HEVC extension" installed - the symptoms remain there.
In "Movies & TV" app it plays fine.
@StaZhu commented on GitHub (Sep 28, 2022):
yeah, it should be like what i said (the video itself write incorrect timestamp), actually all browser based on chromium should have this problem, chromium is more “strict” and always validate timestamp with the frames POC aka picture order count, if they couldnt match each other, browser will simply drop frames, but vlc / movies and tv app etc… doesnt validate them, those software only use POC do picture reorder, and they dont validate timestamp, so they will play well, this logic not only for exists for hevc but also for h264 etc… so perhaps you can close the issue now.
@ireun commented on GitHub (Sep 29, 2022):
Right, that's definitely not a problem related to Jellyfin, thanks for explaining, Closing the issue.
Though I still don't understand, why shorter videos play normally. Since it seems that they were encoded using the same settings.