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

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-browser/chromium/chromium-ozone-wayland/force-h264-youtube/force_h264.js
>  create mode 100644 
> meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland/force-h264-youtube/manifest.json
> 
> diff --git 
> a/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland-arago.inc
>  
> b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland-arago.inc
> index ab092fa1..d8eb0204 100644
> --- 
> a/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland-arago.inc
> +++ 
> b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-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-.patch \
> +                  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-browser/chromium/chromium-ozone-wayland/force-h264-youtube/force_h264.js
>  
> b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/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/recipes-browser/chromium/chromium-ozone-wayland/force-h264-youtube/force_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-browser/chromium/chromium-ozone-wayland/force-h264-youtube/manifest.json
>  
> b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland/force-h264-youtube/manifest.json
> new file mode 100644
> index 00000000..fc69be22
> --- /dev/null
> +++ 
> b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland/force-h264-youtube/manifest.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


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#17560): 
https://lists.yoctoproject.org/g/meta-arago/message/17560
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