Thanks to the very patient support from jernej and ndufresne on the linux-sunxi IRC channel, I could confirm that GStreamer 1.19+ works out of the box on the 5.11 kernel (sunxi-dev), tested with Hirsute and Bullseye, at least on the H3/Orange Pi PC. (I haven't been able to build or run a 5.11 image on a H6 device, so I couldn't test it there yet.)
Kernel:
Build 5.11.y with this patch, must be included as a userpatch. 5.11.6 includes it from the getgo, but below that you need to add it yourself:
<jernej> PPA: kernel 5.11.6 is released with Cedrus patch
Requirements:
sudo apt update
sudo apt install meson ninja-build pkg-config libmount-dev libglib2.0-dev libgudev-1.0-dev libxml2-dev libasound2-dev
Building & installing GStreamer:
git clone https://gitlab.freedesktop.org/gstreamer/gst-build.git
cd gst-build
meson -Dgst-plugins-bad:v4l2codecs=enabled -Dgst-plugins-base:playback=enabled -Dgst-plugins-base:alsa=enabled build
ninja -C build
cd build
sudo meson install
sudo /sbin/ldconfig -v
You can play videos from the command line to the framebuffer. At least on the OPiPC there is a problem where it doesn't automatically play on the correct DRM layer and the video is hidden. To fix this, it needs to be ran once per boot with “plane-properties=s,zpos=3”:
gst-play-1.0 --use-playbin3 --videosink="kmssink plane-properties=s,zpos=3" video.file
Afterwards it should be fine with just gst-play-1.0 --use-playbin3 input.video (until the next reboot).
h.264 (except for 10-bit, which the hardware cannot handle) decodes smoothly with CPU load across all cores around 2%–5%.
I know. This is a general precaution. Most of people that I am saving days or weeks don't even try to save mine, give anything to help lowering the bills of this project. And they never stop asking questions if they hit jackpot with someone to understand many technical aspects ...
As you can see - there are a lot more questions then answers. "I have a problem, How to do this ..." is easy to generate. Easier to use search engine trying to get as much data from the database. Before asking a new question. I don't know if you will find something, but its worth trying.