mirror of
https://github.com/Screenly/Anthias.git
synced 2026-08-02 18:57:32 -04:00
- Replace VLCMediaPlayer with GstFbdevMediaPlayer: spawn `gst-launch-1.0 playbin` with a fully-hardware video sink — v4l2h264dec (bcm2835 codec) decodes, v4l2convert (bcm2835 ISP) HW-scales + converts YUV to the framebuffer format, fbdevsink paints /dev/fb0. No DRM master / X / Wayland needed, which a bare uid-1000 viewer with no compositor cannot acquire. - Restores hardware video on the Qt5 linuxfb boards after #1980 dropped the Broadcom mmal_vout; drives the same VPU + ISP silicon mmal used. Measured on a Pi 3: 1080p30 -> rgb565 at ~40 fps, zero dropped frames. (An interim ffmpeg -> fbdev approach was abandoned: HW decode worked but CPU YUV->rgb565 convert via swscale managed only ~6 fps — no NEON path — and CPU scaling is unaccelerated. v4l2convert moves that to the ISP.) - playbin gives container-agnostic demux, auto-plugged HW decoder, and graceful optional-audio. Loop the slot via re-launch-on-EOS; kill by process group so no gst-launch orphan keeps the framebuffer. - Rotation rides `videoflip`, inserted only when the panel is rotated. - Add gstreamer1.0-{tools,plugins-base,plugins-good,plugins-bad} to the Qt5 viewer image; drop the now-unused vlc apt package + python-vlc dep (+ its mypy override). Sync the upload-gate comment in processing.py. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Documentation
This page has moved to https://anthias.screenly.io/docs/.
The Anthias documentation now lives at https://anthias.screenly.io/docs/.