Qumraقُمرة
Native Linux IPTV and VOD streaming client built with GTK4 and libmpv





What it is
I built Qumra because I wanted a native Linux IPTV and video-on-demand client that felt as polished as the best apps on other platforms, instead of an Electron wrapper. It is named after the camera obscura, the Arabic root of the word camera.
The app is a Cargo workspace split in two: qumra-core holds all the headless logic (Xtream and M3U providers, models, caching, downloads) with no GUI, and the qumra crate is the GTK4 and libadwaita front end. Video runs through libmpv embedded in a GTK4 GLArea using mpv’s OpenGL render API, which is what makes HLS playback smooth on the Intel iGPU under Wayland. Catalog data is cached in SQLite and provider passwords go to the Secret Service keyring, never to disk.
It is my daily driver now. Beyond the core it grew live-buffer handling, scheduled DVR recordings, viewing stats, collections, and a phone remote that runs a small LAN server with QR pairing.
Features
- Xtream Codes and M3U providers with a cached, virtualized catalog
- libmpv embedded in a GTK4 GLArea via the OpenGL render API
- Live TV with EPG, VOD and series with resume and watch history
- Offline downloads, smart season pre-fetch and trickplay previews
- Phone remote over the LAN with QR pairing and a now-playing feed
- Provider passwords stored in the system keyring, no telemetry
Stack
~24,000 lines of Rust · 187 tests · 65 commits