夜雨聆风学习资料网

ARTICLE · 1012682

不装 App,也能让电视和手机播放电脑里的电影:这个开源项目现在支持三平台了

不装 App,也能让电视和手机播放电脑里的电影:这个开源项目现在支持三平台了

最近发现了一个很有意思的 GitHub 开源项目——「流光逸影」。

它的思路非常直接:运行一个程序,就能把电脑变成局域网电影服务器。手机连上同一个 Wi-Fi,扫码后用浏览器观看;电视则通过 DLNA,在系统自带的媒体中心里直接发现电脑上的影片。

不需要把电影上传到云盘,不需要在每台设备安装客户端,也没有复杂的服务端配置。

但原项目有一个明显限制:主要面向 Windows,发布页也只有 .exe。我平时使用 Mac,也希望 Linux 主机可以部署,于是基于它做了一次完整的跨平台改造,并把新版本命名为 MovieHub LAN。

项目地址:

https://github.com/Dylan-Du/moviehub-lan

下载地址:

https://github.com/Dylan-Du/moviehub-lan/releases/latest

它解决了什么问题?

很多人硬盘里都有自己收藏的电影、纪录片、课程或家庭录像。但想在手机、平板和电视上观看,往往需要:

  • 拷贝文件到不同设备;
  • 搭建一套配置复杂的媒体中心;
  • 把内容上传云盘,再忍受转码、限速或隐私问题;
  • 给电视和手机分别安装客户端。

MovieHub LAN 选择了一条更轻的路线:电脑负责提供文件,手机使用浏览器,电视使用 DLNA。

启动后,电脑端会自动打开控制台。选择本地影片目录,页面生成局域网地址和二维码。手机扫码进入影库;电视在“媒体中心”“文件管理”或 DLNA 应用里找到服务器,就可以浏览和播放。

需要说明的是,项目不内置电影,也不会帮你搜索或下载资源。它只是播放你自己合法持有的本地视频文件。

这次跨平台改造做了什么?

1. 默认浏览器启动支持三平台

原来的浏览器启动命令使用 Windows 的 cmd /c start。新版本会根据系统自动选择:

  • Windows:cmd /c start
  • macOS:open
  • Linux:xdg-open

因此三个系统启动服务后,都可以直接进入电脑控制台。

2. 重写本地目录浏览逻辑

Windows 使用 C:\、D:\ 等盘符,但 macOS 和 Linux 使用 / 开头的目录结构。

新版本对目录入口和面包屑导航做了平台适配:

  • Windows 展示可用盘符;
  • macOS 展示个人目录、/Volumes 外接硬盘和文件系统;
  • Linux 展示个人目录和文件系统;
  • 网页端同时兼容反斜杠与正斜杠路径。

这意味着无论影片放在 Windows 硬盘、Mac 的“影片”目录,还是挂载在 Linux 主机上的磁盘,都能从控制台选择。

3. ffmpeg 探测不再依赖 .exe

网页浏览器不一定能原生播放 MKV、H.265 等格式。项目可以调用 ffmpeg 进行转封装或转码。

新版本会先从 PATH 查找 ffmpeg 和 ffprobe,再检查程序同目录:

  • Windows 支持 ffmpeg.exe、ffprobe.exe;
  • macOS/Linux 支持无 .exe 后缀的可执行文件。

Mac 用户可以直接运行 brew install ffmpeg,Linux 用户则可以使用系统包管理器安装。

4. DLNA 平台信息动态生成

原实现的 DLNA Server Agent 固定写成 Windows。现在会根据实际运行系统和 CPU 架构生成信息,避免 Mac 或 Linux 主机仍对外宣称自己是 Windows。

5. GitHub Actions 自动构建五种发布包

代码推送版本标签后,GitHub Actions 会自动测试、编译并发布:

  • Windows x64
  • macOS Apple Silicon
  • macOS Intel
  • Linux x64
  • Linux ARM64

普通用户不需要安装 Go,也不需要自己编译。进入仓库 Release 页面,下载对应系统的压缩包即可。

如何使用?

Windows

下载 moviehub-lan-windows-amd64.zip,解压后双击 moviehub-lan.exe。

Apple Silicon Mac

M1、M2、M3、M4 等机型下载 moviehub-lan-darwin-arm64.tar.gz。

因为当前开源发布包没有 Apple Developer ID 签名,首次运行可能会被 Gatekeeper 阻止。可以在“系统设置 → 隐私与安全性”选择“仍要打开”,或者在终端执行:

bash

复制

chmod +x moviehub-lan
xattr -dr com.apple.quarantine moviehub-lan
./moviehub-lan

Intel Mac 则下载 moviehub-lan-darwin-amd64.tar.gz。

Linux

按 CPU 架构下载 linux-amd64 或 linux-arm64 包,解压后执行:

bash

复制

chmod +x moviehub-lan
./moviehub-lan

程序默认使用 8090 端口,并自动打开:

text

复制

http://localhost:8090/pc

接下来在控制台选择影片目录,让手机和电视连接同一个局域网即可。

哪些格式可以播放?

项目能够识别 MP4、M4V、MKV、WebM、AVI、MOV、TS、FLV、WMV、RMVB、MPG、MPEG、3GP 等视频文件。

是否可以“直接播放”,取决于终端设备的解码能力:

  • MP4/H.264 等常见格式,浏览器通常可以直接播放;
  • MKV、H.265 等格式,手机网页播放可能需要 ffmpeg;
  • 电视通过 DLNA 播放时通常读取原文件,由电视本地硬解。

为什么没有做成复杂的媒体中心?

MovieHub LAN 的价值恰恰在于轻量。

它不负责刮削海报,不维护庞大的影片数据库,不要求 Docker,也不要求用户注册账号。它适合“硬盘里已经有视频,只想快速在家中其他屏幕播放”的场景。

如果你需要完整的海报墙、用户管理和多端观看记录,Jellyfin、Plex 等项目更合适;如果你只想快速把一个目录分享给手机和电视,这个项目会更省事。

安全提醒

这个项目面向家庭可信局域网,不适合直接暴露到公网。

另外,DLNA 协议本身没有完善的鉴权能力。即使设置了访问口令,同一局域网中的设备仍可能通过 DLNA 看到共享内容。因此不要在公司、合租网络或公共 Wi-Fi 中共享隐私文件,也不要直接共享整个系统盘。

写在最后

这次改造没有改变原项目的核心产品思路,而是补齐了 Windows、macOS、Linux 的运行入口、目录结构和发布流程。

我很喜欢这种“小而明确”的开源工具:没有宏大的功能列表,只解决一个具体问题,而且下载后几分钟就能用起来。

MovieHub LAN 已经开源,欢迎试用、提交 Issue 或贡献代码:

https://github.com/Dylan-Du/moviehub-lan

最后也感谢上游项目「流光逸影」作者冷逸(沃垠AI)公开了核心实现。MovieHub LAN 基于该项目进行跨平台改造,并继续遵循 MIT License。

如果你觉得这个项目有用,也欢迎 Star,让更多 Windows、Mac 和 Linux 用户看到它。

相关学习资料