TRAVIS INSKEEP

Raspberry Pi 3 Media Centre

A self-hosted media centre on a Raspberry Pi 3, controlled entirely over the network.

A media centre assembled from parts rather than installed. Raspberry Pi OS Bullseye with a minimal Openbox and GTK desktop, and a single persistent VLC process doing hardware-accelerated decode through MMAL, which is what makes 1080p viable on a board of this age. There is no local interface: the player is driven over DBus MPRIS and a layer of stdlib-only Python HTTP services exposing playback, file browsing and LED control, so the remote is a Flutter app on whatever phone is on the network. A resolver service accepts a URL and streams it straight to the player. A WS2812 LED ring on GPIO18 runs from a daemon that mirrors playback state, so the device reports what it is doing with no screen attached. Services and desktop configuration deploy to the target host with a single script.

Category: programming

Tech: Flutter / Dart, Python, Raspberry Pi 3, VLC / MMAL, DBus MPRIS, WS2812 / GPIO

Role: Creator