9910b4c06aedcdafae8c0329440875dd69839ce6
lan-play
A small self-hosted web player for local video libraries.
lan-play makes folders with movies, shows, and anime easy to watch on TVs and other devices with a web browser. Point it at a media directory, open the web interface, and play files without setting up a database or importing a library.
Features
- Folder-based media browser with animated previews
- Live remuxing and transcoding to browser-compatible MPEG-DASH
- Multiple audio track selection
- Embedded and external ASS, SSA, SRT, and WebVTT subtitles
- Automatic subtitle discovery in nearby folders
- Fullscreen TV-friendly interface with episode navigation
- No database, accounts, or library indexing
Docker
docker run --rm \
-p 8080:8080 \
-v /path/to/videos:/media:ro \
ultradesu/lan-play:latest
Open http://HOST:8080 on your TV or another device on the same network.
Run from source
Requires Rust, ffmpeg, and ffprobe.
cargo run --release -- /path/to/videos
Use --bind 127.0.0.1:8080 when placing lan-play behind a reverse proxy.
Notes
lan-play is intended for trusted local networks. It does not provide authentication and should not be exposed directly to the public internet.
Languages
Rust
58.9%
JavaScript
26.4%
HTML
7.1%
CSS
7%
Dockerfile
0.6%
