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

screen

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.

S
Description
A small self-hosted web player for local video libraries.
Readme
1.2 MiB
Languages
Rust 58.9%
JavaScript 26.4%
HTML 7.1%
CSS 7%
Dockerfile 0.6%