基于 Lucky 与 QMediaSync 的飞牛远程媒体访问
基于 Lucky 与 QMediaSync 的飞牛远程媒体访问
序言
飞牛私有云(FnOS)近期已正式在系统层面新增对 .strm 文件挂载的支持。该特性允许用户通过轻量级的索引文件引用远程或本地媒体资源,优化了存储架构。不过,原生生成的 .strm 文件通常绑定局域网私有 IP,导致远程环境下播放链路断裂。通过 Lucky 反向代理配合 QMediaSync(QMS),可以把内网地址重构为标准的公网域名 HTTPS 链接,实现飞牛媒体在远程环境下的直接播放体验。
1 Lucky 反向代理配置建议
作为高性能的边缘网关,Lucky 在此方案中负责处理 SSL 证书自动化管理及远程流量分发。
1.1 服务反代与端口暴露
为了实现远程环境下对 QMS 的管理和视频流调度,需在 Lucky 中配置以下转发规则:
- WebUI 访问:将公网域名(如
qms.域名.com)指向 QMS 的管理端口12333。 - 代理服务链路:反代 QMS 的代理服务端口(默认
8095),确保远程播放器发起的 HTTPS 请求能准确触达内网的文件分发层。 - 如果需要 QMS 直接走 302 反代,可通过 Emby 或 Jellyfin 直接播放
- 安全性增强:利用 Lucky 自动申请并部署 SSL 证书,确保所有流媒体传输均在 HTTPS 协议下加密进行。
2 QMediaSync 的容器化部署与环境搭建
QMS 的核心价值在于其强大的路径重构与自动化同步能力。建议使用 Docker Compose 进行标准化部署,以确保配置的一致性。
2.1 Docker Compose 配置文件示例
根据您的环境需求,建议采用如下配置:
name: qmediasync
# 默认用户名 admin, 密码 admin123
services:
qms-postgres:
# 镜像地址
image: postgres:15.4
# 容器名
container_name: qms-postgres
# 主机名
hostname: qms-postgres
environment:
POSTGRES_USER: qms-postgres
POSTGRES_PASSWORD: qms-postgres
POSTGRES_DB: qms-postgres
ports:
- 15432:5432
volumes:
- /mnt/docker/apps/qms-postgres/data:/var/lib/postgresql/data
# 重启策略,总是重启
restart: always
qmediasync:
# 镜像地址
image: qicfan/qmediasync:latest
# 容器名
container_name: qmediasync
# 主机名
hostname: qmediasync
# 环境变量:- 变量名=值
depends_on:
- qms-postgres
environment:
# 时区
- TZ=Asia/Shanghai
# 目录映射:宿主机目录:容器内目录
volumes:
# 容器配置文件路径
- /mnt/docker/apps/qmediasync/config:/app/config
# 生成 strm 文件路径
- /mnt/MediaStrm/qmediasync/media:/media
# 端口
ports:
# webUI 端口
- 12333:12333
- 12332:12332
# emby代理端口默认:http-8095 https-8094
- 7095:8095
- 7094:8094
# 重启策略,总是重启
restart: always
networks:
default:
name: qmediasync
2.2 登录账号
浏览器访问 http://192.168.x.x:12333打开 qms ,默认账号是 admin,默认密码是admin123,密码记得修改。
添加云存储账号,可以直接扫码登录对应服务,也可以登录你的 OpenList。
2.3 .strm 设置
预设已经可以了,你只需要填写 .strm 直接播放地址,也就是直接填写你用 Lucky 反代出去的 QMS 的 12333 地址。
2.4 Emby 设置(可选设置,飞牛媒体不需要)
如果你要使用 Emby 或者 Jellyfin,那么你可以设置,只用设置从 Emby 那里获取的 API key 就行。如果你只用飞牛媒体读取 strm,直接跳过就行。
2.5 元数据匹配与整理(可选设置)
如果你需要元数据匹配和整理,可以在 QMS 中设置。我是在媒体库直接分好类了,就不需要再整理;元数据匹配我更喜欢用飞牛自带功能。
2.6 .strm 同步目录
在 .strm 同步目录中添加目录,选择你刚才登录的云存储或 OpenList,然后将云存储中的媒体库挂载到 QMS 的 /media 路径。
最后点击同步就行,他就会自动生成 strm 文件了,也可以设置定时同步。
3 飞牛媒体库整合与元数据匹配
生成的 .strm 文件需接入飞牛媒体(FnOS Video)系统,才能转化为海报墙形式的媒体中心。
3.1 媒体库路径导入
- 路径选择:在飞牛媒体设置中新增媒体库,路径务必指向 QMS 任务输出的 .strm 文件夹。
- 权限校验:确保飞牛媒体应用具有对该文件夹的读取权限。
3.2 自动化元数据匹配
- 元数据识别:由于 QMS 在生成
.strm时完全继承了物理文件的命名结构,飞牛媒体的内置元数据引擎可自动匹配 TMDB 或其他元数据提供商,自动下载剧照、简介及演员信息。 - 远程连通测试:在移动网络环境下,飞牛媒体 App 会读取
.strm内的域名地址,通过 Lucky 建立的 HTTPS 链路直接调取视频流,跳过内网 IP 限制。
- 这是 qms 生成的 strm 文件信息例子
4 总结
综上所述,利用 Lucky 的反向代理能力和 QMediaSync 的 Host 重构能力,可以解决飞牛 OS 原生 .strm 文件在广域网环境下的接入问题。该方案不仅能自动生成海报墙,也能让用户在任意地点通过域名直接播放飞牛媒体库中的内容,兼顾访问便捷性和播放质量。最终效果是:飞牛媒体 App 在远程环境下也能比较流畅地播放原画视频。
播放杜比展示,网页没办法播放杜比,建议用客户端,红色的奈非 logo。
缺点展示:飞牛自带的播放器,播放的视频信息格式是不能被看到的。
这是我的飞牛媒体库
基于 Lucky 与 QMediaSync 的飞牛远程媒体访问
https://blog.nw177.cn/blog/10-技术专栏/30-Linux/10.基于Lucky与QMediaSync的飞牛远程媒体访问分享文章
生成精美分享图或复制链接,与更多人分享本文。