[Feature Request] Add Neko variant using custom Chromium build from Woolyss
WhaleHub opened this issue · 9 comments
Is your feature request related to a problem? Please describe.
If a user wants to watch a media file that has been encoded in HEVC/x265 in the currently available builds of Neko, the video playback will either outright fail or cause the origin server to first transcode the video before serving it, a process which greatly reduces the quality of the video. HEVC is burdened by its patents and licensing fees which is why it currently isn't supported by the two big browsers Firefox and Chrome and likely never will be.
Describe the solution you'd like
Since Chrome is based on the open-source project Chromium, people have developed custom variants of the latter with support for HEVC/x265. These are available for all major platforms, including Linux, and can be downloaded on Woolyss' website. The build that would have be used for Neko is this one (since it is marked with all-codecs+
).
Describe alternatives you've considered
N/A
Additional context
N/A
You can create your own Dockerfile FROM nurdism/neko:openbox
and install this.
This is Chomium dockerfile:
neko/.docker/files/chromium/Dockerfile
Lines 1 to 25 in 395e23a
I would looking forward to see H265 support in neko!
@m1k1o Thanks for the pointer, but it looks like some of the required libraries (e.g. libva2) are only available on Debian Buster and newer. This means that Neko's entire image chain (deps -> base -> openbox -> chromium) needs to be updated from Stretch to Buster for this change.
@m1k1o Ah, thank you. I'll start working on implementing support for the custom Chromium build based on your fork then.
I'm only running stretch because of the space savings (is not that much compared to Buster) @m1k1o if all the images work fine I don't mind changing to buster
@m1k1o I'm happy to report that I just finished implementing this feature request and that the custom Chromium build can indeed Direct Play both 8-bit and 10-bit HEVC content. I'll open a pull request on your repo once I've ironed out a bug where Chromium doesn't start with a maximized window even when using the --start-maximized
runtime flag. While it can still be maximized by clicking on the corresponding button, I'd prefer to have it work like the original Neko.
@nurdism buster works for me great. I created completly new workflow in my custom folder (didn't touch your old ones) hecne pull request from my fork would not be possible. Either you modify your dockerfiles according to mine or they would be completly replaced.
@WhaleHub i faced similar issue, where browser didn't start maximized. It was caused by missing openbox or bad window identifier.
@m1k1o Bingo, that was it. I changed it from chromium-browser
to chromium-devel
and now it works as expected. I just opened a pull request on your repo. 👍
@alectrocute If you want to give this custom build a spin, feel free to use graywhale/neko:chromium
. It's a drop-in replacement for the official Neko Chromium image, so it requires the same parameters, see https://n.eko.moe/#/docker.