Skip to main content
Rust 2024 Edition 100% Clean-Room Multi-Platform

Kinema

High-performance, self-hosted personal media server in Rust. Direct-play prioritization, throttled fMP4 transcoding, zero runtime bloat, and native clients across Web, Desktop, and Android.

Stream on Any Screen, Anywhere

Pixel-perfect native experiences across desktop workstations, tablets, and mobile devices.

Tablet Media Library
kinema — localhost:3000
Desktop Player
Android Media3 App

Architected for Speed & Efficiency

Engineered from scratch to stream massive 4K HDR libraries from low-power devices like Raspberry Pi 5 without thermal throttling.

Direct Play First & Remux Engine

Always checks client decoder capabilities before touching a frame. Ranged sendfile for container matches, zero-copy fMP4 stream copying for codec matches. Full video transcoding is strictly the last resort.

Learn more

Throttled & Sandboxed Transcoding

Re-encodes are actively paced 60 seconds ahead of real-time playback at nice 10 (nice 19 for background jobs). Low-power CPUs never spike to 100% all-core saturation; child processes terminate instantly on disconnect.

Learn more

Clean-Room Engineering

Zero decompiled proprietary code from Plex or closed-source platforms. Built strictly on open media standards (Matroska, MP4, WebVTT, HLS) and public TMDB / TVmaze metadata APIs with full legal compliance.

Learn more

Multi-Platform Native Ecosystem

Unified media experience across React 18 Web SPA (with Web Audio 200% booster), Electron Desktop shell (with mpv loopback proxy for zero-transcode desktop playback), and Android Jetpack Compose with ExoPlayer.

Learn more

SQLite WAL & Zero-Config Storage

No complex database services to maintain. High-concurrency SQLite with Write-Ahead Logging (WAL), FTS5 instant search, per-profile track choices, and automated schema migrations.

Learn more

Audio Fingerprint Theme Detection

Automated intro and credit skipping using 33-band Haitsma & Kalker audio fingerprinting, ffprobe chapter titles, and keyframe black-frame detectors. Seamlessly skips openings on web and Android.

Learn more

Quick Install

Install the native Kinema server bundle or desktop app with a single terminal command.

install-server.sh
# Home Server (Linux x86_64 / aarch64) - Standalone bundle with backend, web UI, bundled FFmpeg 8.1 & systemd service
curl -fsSL https://raw.githubusercontent.com/aiyu-ayaan/Kinema/master/scripts/install-server.sh | sudo sh