2026-08-05 12:32:52 +01:00
|
|
|
# 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.
|
|
|
|
|
|
2026-08-05 12:41:33 +01:00
|
|
|

|
2026-08-05 12:32:52 +01:00
|
|
|
## 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
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
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`.
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
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.
|