On Tue, Jun 9, 2026 at 2:25 PM Lannynd, Thorsten <[email protected]> wrote:

> On 6/9/26 12:52 PM, Jon Cormier via lists.yoctoproject.org wrote:
> > On Tue, Jun 9, 2026 at 1:43 PM Denys Dmytriyenko via
> lists.yoctoproject.org
> > <[email protected]> wrote:
> > >
> > > On Tue, Jun 09, 2026 at 12:13:06PM -0500, Thorsten Lannynd via
> > lists.yoctoproject.org wrote:
> > > > Install a lightweight Chrome extension that forces YouTube to serve
> > > > H.264 (avc1) by blocking VP8, VP9, and AV1 via
> > MediaSource.isTypeSupported.
> > > > This enables Wave5 hardware video decoding on YouTube, which only
> > > > supports
> > > > H.264 and HEVC.
> > > >
> > > > Installed at /usr/lib/chromium/extensions/force-h264-youtube
> > > > and --load-extension flag is needed to enable the extension.
> > > >
> > > > Signed-off-by: Thorsten Lannynd <[email protected]>
> > > > ---
> > > > v2:
> > > > - Remove the flag that enables extension by default as not all SoCs
> support
> > > >   Wave5 and Chromium
> > Why would disabling this extension help? Does this mean there are some
> SoCs
> > which do support VP8, VP9, and AV1?  Or if using CPU, decode those better
> > than h.264?
> H.264 and HEVC are the only codecs with hardware acceleration, however, we
> have one SoC that supports Chromium with no hardware video decoder.
>
> Not enabling the extension gives the user control over what codec YouTube
> Is serving. I found the CPU utilization results to be roughly around the
> same,
> at 480p 30 fps when using S/W acceleration for AV1 and H.264 with
> significant playback stutters.
>
Alright thanks thats useful information.  I had recently been testing the
AM62A with youtube and was talking to a coworker about this extension.  So
glad to see it pop up here serendipitously.

>
> > >
> > > This is also fine, though requires enabling it manually...
> >
> > >
> > >
> > >
> > > >  .../chromium/chromium-ozone-wayland-arago.inc | 13 +++++++++++++
> > > >  .../force-h264-youtube/force_h264.js          |  4 ++++
> > > >  .../force-h264-youtube/manifest.json          | 19
> +++++++++++++++++++
> > > >  3 files changed, 36 insertions(+)
> > > >  create mode 100644
> > > > meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-brow
> > > > ser/chromium/chromium-ozone-wayland/force-h264-youtube/force_h264.js
> > > >  create mode 100644
> > > > meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-brow
> > > > ser/chromium/chromium-ozone-wayland/force-h264-youtube/manifest.json
> > > >
> > > > diff --git
> > > > a/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-br
> > > > owser/chromium/chromium-ozone-wayland-arago.inc
> > > > b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-br
> > > > owser/chromium/chromium-ozone-wayland-arago.inc
> > > > index ab092fa1..d8eb0204 100644
> > > > ---
> > > > a/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-br
> > > > owser/chromium/chromium-ozone-wayland-arago.inc
> > > > +++ b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipe
> > > > +++ s-browser/chromium/chromium-ozone-wayland-arago.inc
> > > > @@ -1,5 +1,7 @@
> > > >  PR:append = ".arago0"
> > > >
> > > > +EXTENSION_DIR = "/usr/lib/chromium/extensions/force-h264-youtube"
> > > > +
> > > >  FILESEXTRAPATHS:prepend := "${THISDIR}/chromium-ozone-wayland:"
> > > >
> > > >  PACKAGECONFIG:append = " proprietary-codecs"
> > > > @@ -9,4 +11,15 @@ SRC_URI:append = " \
> > > >
> file://0002-chromium-gpu-sandbox-Allow-GPU-sandbox-access-
> > to-V4L.patch \
> > > >
> file://0003-chromium-gpu-v4l2-Fix-OUTPUT-queue-streaming-in-
> > V4L2.patch \
> > > >
> > > > file://0004-media-gpu-v4l2-Avoid-placing-incomplete-H264-access-.pat
> > > > ch \
> > > > +                  file://force-h264-youtube/force_h264.js \
> > > > +                  file://force-h264-youtube/manifest.json \
> > > >                    "
> > > > +
> > > > +do_install:append() {
> > > > +    install -d ${D}${EXTENSION_DIR}
> > > > +    install -m 0644
> ${WORKDIR}/sources/force-h264-youtube/force_h264.js
> > \
> > > > +
> ${WORKDIR}/sources/force-h264-youtube/manifest.json \
> > > > +                    ${D}${EXTENSION_DIR}/ }
> > > > +
> > > > +FILES:${PN}:append = " ${EXTENSION_DIR}"
> > > > diff --git
> > > > a/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-br
> > > > owser/chromium/chromium-ozone-wayland/force-h264-
> > youtube/force_h264.
> > > > js
> > > > b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-br
> > > > owser/chromium/chromium-ozone-wayland/force-h264-
> > youtube/force_h264.
> > > > js
> > > > new file mode 100644
> > > > index 00000000..5e942321
> > > > --- /dev/null
> > > > +++ b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipe
> > > > +++ s-browser/chromium/chromium-ozone-wayland/force-h264-
> > youtube/for
> > > > +++ ce_h264.js
> > > > @@ -0,0 +1,4 @@
> > > > +(function() {
> > > > +    var orig = MediaSource.isTypeSupported.bind(MediaSource);
> > > > +    MediaSource.isTypeSupported = function(t) { return
> > > > +/vp8|vp09?|av01/i.test(t) ? false : orig(t); }; })();
> > > > diff --git
> > > > a/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-br
> > > > owser/chromium/chromium-ozone-wayland/force-h264-
> > youtube/manifest.js
> > > > on
> > > > b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-br
> > > > owser/chromium/chromium-ozone-wayland/force-h264-
> > youtube/manifest.js
> > > > on
> > > > new file mode 100644
> > > > index 00000000..fc69be22
> > > > --- /dev/null
> > > > +++ b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipe
> > > > +++ s-browser/chromium/chromium-ozone-wayland/force-h264-
> > youtube/man
> > > > +++ ifest.json
> > > > @@ -0,0 +1,19 @@
> > > > +{
> > > > +  "manifest_version": 3,
> > > > +  "name": "Force H.264",
> > > > +  "version": "1.0.0",
> > > > +  "description": "Lightweight extension that forces YouTube to play
> > > > +H.264 (avc1) by blocking VP8, VP9, and AV1",
> > > > +  "content_scripts": [
> > > > +    {
> > > > +      "matches": [
> > > > +        "*://*.youtube.com/*",
> > > > +        "*://*.youtube-nocookie.com/*",
> > > > +        "*://*.youtu.be/*"
> > > > +      ],
> > > > +      "js": ["force_h264.js"],
> > > > +      "run_at": "document_start",
> > > > +      "world": "MAIN",
> > > > +      "all_frames": true
> > > > +    }
> > > > +  ]
> > > > +}
> > > > --
> > > > 2.34.1
> > >
> > >
> > > 
> > >
> > >
> >
> >
> > --
> > Jonathan Cormier
> > Senior Software Engineer
> >
> > Office:  315.425.4045 x222
> >
> > http://www.CriticalLink.com
> > 6712 Brooklawn Parkway, Syracuse, NY 13211
>


-- 
Jonathan Cormier
Senior Software Engineer

Office:  315.425.4045 x222

http://www.CriticalLink.com <http://www.criticallink.com/>
6712 Brooklawn Parkway, Syracuse, NY 13211


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#17563): 
https://lists.yoctoproject.org/g/meta-arago/message/17563
Mute This Topic: https://lists.yoctoproject.org/mt/119726830/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/meta-arago/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to