enable-chromium-hevc-hardware-decoding
Joshiraku
enable-chromium-hevc-hardware-decoding | Joshiraku | |
---|---|---|
10 | 1 | |
1,108 | 2 | |
- | - | |
7.0 | 6.7 | |
16 days ago | 4 months ago | |
JavaScript | Kotlin | |
MIT License | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
enable-chromium-hevc-hardware-decoding
-
Raspberry Pi 5 drops codec hardware acceleration except for HEVC decode
Most devices can indeed most likely handle software decode of more common resolutions, codecs and bitrates. But I'd really hope they'd pick the one that won't suck up all the battery, so H264. This line of thought is supported by the fact that YouTube still provides an H264 option with most if not all videos.
With higher bitrate things, HEVC seems to grow in popularity but even software decode support is not everywhere. Netflix for example requires the installation of HEVC support on Windows to play 4K content.
Actually hardware-accelerated video decode is even spottier and more unreliable across most platforms. The JS API for codec support (canPlayType) literally returns "maybe" and "probably". It's quite bad.
So far the best compatibility I've seen has been Edge with flags on Windows (MPEG-2, H264, HEVC, AV1, VP8, VP9 with most also supporting accelerated encode). It still fails with some content (Dolby Vision P5 colors are incorrect, HEVC Rext doesn't play - more info about HEVC is available here https://github.com/StaZhu/enable-chromium-hevc-hardware-deco...). Chrome on macOS is a close second in terms of codec support.
The worst in terms of HW acceleration being all the browsers on desktop Linux-s, few and fragile combinations that offer limited and janky support. But it's slowly improving. This combined with the not-the-latest hardware many use, means things like VP9 or AV1 tend to stutter.
I'd love to see some more generic stats, but considering the APIs aren't sufficient to determine actual support, these might be difficult to gather.
-
Chrome still hasn't changed its opinion about dropping JPEG XL support
> The 'right' solution would be to just use system codecs for everything. Many apps need good implementations of image codecs. They just need to be implemented once by the OS vendor (or the toolkit on Linux).
Windows has done this and is still doing this, but the decade-long track history so far is that this does not work well. It can work, in a very limited scope and if you have a lot of influence.
Sure, it's really nice if an 8K@60Hz HDR HEVC video plays perfectly straight in your browser or desktop app, but more often than not, it just won't. You don't have the right browser, the extension installed (due to license agreements), good enough graphics drivers or someone has forgotten a flag yet again.
And we haven't even gotten to the immense amount of variation each codec introduces or the potential attack surface.
How shit the situation is with just HEVC (and thus also basically HEIC): https://github.com/StaZhu/enable-chromium-hevc-hardware-deco...
> Just file a bug against your OS.
In the end that "just" carries a lot of burden, it can't be the users reporting these issues.
It's just way easier to leech off of ffmpeg and similar, and let it deal with all the formats. Instead of hoping that maybe you can leverage what the OS gives you, that it works and works correctly in all your edge-cases.
Though not everything is that gloomy, there are Vulkan extensions that might (in the future) simplify cross-platform image and video decoding (and HW acceleration).
- Ubuntu 22.04 hevc video playback in chrome
- Solution for ZoneMinder and Reolink Cams and High Efficiency Video Coding H.265
- Google Quietly Added HEVC Support in Chrome
- What are your pet peeves about how people use your plex? This is one of my biggest
- Proper way to watch HEVC on supported browser like Chromium
- Chrome now has optional HEVC/h265 support
-
Ask HN: Why does nobody support h.265/HEVC anymore?
I think there are a few patches that can enable HEVC hardware decoding with chromium. Though I am a firefox user so I didn't test whether these patches works or not. https://github.com/StaZhu/enable-chromium-hevc-hardware-deco...
Joshiraku
-
Google Quietly Added HEVC Support in Chrome
- <https://github.com/Kaleido-subs/Joshiraku>
Regarding 'why' AV1 and other codecs like VP8/VP9 or VVC haven't really been used:
1. Many of the private trackers have fairly strict rules in terms of standards (e.g., due to lack of hardware support, perceived differences in quality, etc., many don't allow <4K HEVC encodes at all, except in edge cases like when a streaming platform releases a new show in HEVC-only), so individual encoders and groups aren't always free to use whatever codecs they please.
2. Many seem to find x264 easier to tune for certain types of media than x265, and even more so compared to AV1 and others.
3. Many seem to believe that insert codec tends to produce worse results in certain circumstances or for certain content, so they will stick with x265 (or even x264 for the same reasons)
4. Many find that, to truly achieve the same picture quality produced by x265, compression ratios often end up much worse than people claim, and thus the significant slow-down in encoding speed and loss of hardware support is not worth the minor reductions in size.
#4 is likely the most common reason, as it was/is the same with those who prefer x264 over x265; HEVC video is definitely not "half the size" if you want it to look comparably good. And so, especially in the past with older hardware, it simply wasn't worth the tradeoffs; it's worth remembering that, in the case of piracy groups which distribute over P2P networks, no one is paying a AWS exorbitant amounts of money per terabyte of data transferred.
These sites run off of 'free' bandwidth provided by users and cheap unmetered servers from companies like Hetzner, OVH, LeaseWeb, etc -- saving 10-30% in bandwidth often is not worth it at the expense of doubling your encode times (or significantly worse than doubling, in the case of AV1 and VVC) and alienating the people watching on older hardware.
What are some alternatives?
enable-chromium-hevc-hardware-deco
jellyfin-ffmpeg - FFmpeg for Jellyfin
encode-scripts - Scripts of our encodes
SVT-AV1
libheif - libheif is an HEIF and AVIF file format decoder and encoder.
aniyomi - An app for manga and anime
DietPi - Lightweight justice for your single-board computer!
saikou - An Android Anilist client, which lets you stream & download Anime & Manga. [UnavailableForLegalReasons - Repository access blocked]
pinymotion - Python implementation of a motion detecting H.264 camera for Raspberry Pi