返回列表
Linux

基于 Lucky 与 QMediaSync 的飞牛远程媒体访问

摘要

基于 Lucky 与 QMediaSync 的飞牛远程媒体访问

5 分钟阅读
#NAS#飞牛#媒体库

序言

飞牛私有云(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 配置文件示例

根据您的环境需求,建议采用如下配置:

YAML
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的飞牛远程媒体访问
作者
张萌萌
发布于
许可协议
CC BY-NC-SA 4.0

分享文章

生成精美分享图或复制链接,与更多人分享本文。