轻量级家庭影院服务器。一个命令启动,手机、平板、电脑打开浏览器即可观看本地视频。

/api/videos),支持分页和直播格式过滤metadata.json 自定义视频标题、来源和描述Homebrew (macOS/Linux)
brew install raojinlin/tap/localcinema
一键安装脚本
curl -fsSL https://raw.githubusercontent.com/raojinlin/localcinema/main/install.sh | sh
Go Install
go install github.com/raojinlin/localcinema@latest
Docker
docker build -t localcinema .
docker run -v ~/Movies:/videos -p 8080:8080 localcinema
二进制下载
前往 GitHub Releases 下载对应平台的压缩包。
# 启动(默认扫描 ~/Movies,监听 8080 端口)
localcinema
# 指定目录和端口
localcinema -dir /path/to/videos -port 9090
# 清空 HLS 转码缓存
localcinema -clear-cache
手机连接同一 WiFi,浏览器访问终端输出的地址即可。
| 参数 | 默认值 | 说明 |
|---|---|---|
-dir |
~/Movies |
视频文件目录 |
-port |
8080 |
服务器监听端口 |
-cache-dir |
~/.cache/localcinema |
自定义缓存目录(HLS 转码、封面、ffmpeg 等) |
-clear-cache |
— | 清空 HLS 转码缓存后退出 |
程序启动时会按以下顺序查找 ffmpeg/ffprobe:
~/.cache/localcinema/bin/ — 本地缓存PATH如果都找不到,会自动从网络下载静态编译版本到 ~/.cache/localcinema/bin/,支持 macOS 和 Linux(amd64/arm64)。
也可以手动安装:
# macOS
brew install ffmpeg
# Linux (Ubuntu/Debian)
sudo apt install ffmpeg
macOS 下使用 VideoToolbox 硬件加速转码(h264_videotoolbox),需要 ffmpeg 编译时启用 --enable-videotoolbox。
所有缓存默认存储在 ~/.cache/localcinema/,可通过 -cache-dir 参数自定义路径:
| 目录 | 内容 |
|---|---|
bin/ |
自动下载的 ffmpeg/ffprobe |
hls/ |
HLS 转码分片(m3u8 + ts),视频文件修改后自动失效 |
thumbs/ |
视频封面(jpg)和时长信息(dur) |
| 格式 | 播放方式 |
|---|---|
.mp4 .m4v |
直接播放(H.264)/ HLS 转码(HEVC 等) |
.mkv .avi .mov .webm .wmv .flv |
自动 HLS 转码 |
在视频目录下创建 metadata.json 文件,可以自定义视频的显示信息:
{
"title": "视频标题",
"source": "来源",
"description": "视频描述",
"keywords": ["关键词1", "关键词2"]
}
设置后,该目录下的视频将使用 title 作为显示名称,替代默认的文件名。
| 接口 | 方法 | 说明 |
|---|---|---|
/api/videos |
GET | 视频列表(JSON) |
查询参数:
| 参数 | 默认值 | 说明 |
|---|---|---|
page |
1 |
页码 |
size |
20 |
每页数量 |
direct |
— | 设为 1 仅返回可直接播放的视频 |