群晖使用 Medialinker 实现网盘+Emby Strm 302播放
群晖使用 Medialinker 实现网盘+Emby Strm 302播放

群晖使用 Medialinker 实现网盘+Emby Strm 302播放

17
0

版本

ver=v0.0.1
latest-update=2025.07.05

声明

  1. 本文档依据自身使用来分享的,可能不是很完善,欢迎提建议
  2. 本人使用的是家宽,很多过于简单的,例如端口转发,就没有介绍,建议自行搜索一下,网上教程很多
  3. 分享本文的初衷是因为家里的家宽水管太细,硬盘上的影片在外网看起来太费劲
  4. 重要 重要 重要
    1. 因部署涉及到账号,请在私有环境部署,不要共享
    2. 看此教程的默认懂部分常识性问题
  5. 本方案基于群晖NAS部署,非群晖NAS用户仅可借鉴,不可直接照搬

0. 应用、工具与环境


0.1 依赖环境

  • 群晖
    • DS423+
    • DSM 7.2.2-72806 Update 3

0.2 准备工具

  1. OpList
  2. Emby
  3. Medialinker

1. 安装与配置


1.1 OpList部署

群晖使用 Medialinker 实现网盘+Emby Strm 302播放

  1. 打开群晖的 File Station 套件
  2. docker 目录中创建文件夹 openlist ,并接着在 openlist 文件夹中创建 data 文件夹
  3. 打开文本编辑器将 docker-compose 粘贴进去并以 docker-compose.yml 另存为到刚刚创建的 openlist 文件夹里面
    version: '3.3'
    services:
      openlist:
        image: 'openlistteam/openlist:latest'
        container_name: 'openlist'
        volumes:
          - './data:/opt/openlist/data'
        ports:
          - '5244:5244'
        environment:
          PUID: '0'
          PGID: '0'
          UMASK: '022'
          TZ: 'Asia/Shanghai'
        restart: 'unless-stopped'
        network_mode: 'bridge'
  4. 完成以上步骤后,打开 Container Manager 套件
    群晖使用 Medialinker 实现网盘+Emby Strm 302播放
  5. 点击项目,点击新增,输入项目名称,设我们刚刚创建的路径 docker/openlist ,并一直点 下一步 ,直到部署完成
    • PS: 如果docker下载不下来,请自行搜索解决办法,这里就不介绍了
      群晖使用 Medialinker 实现网盘+Emby Strm 302播放
  6. 部署完成后,我们将其放置一边

1.2 Emby部署

群晖使用 Medialinker 实现网盘+Emby Strm 302播放

  1. 跟Openlist一样,我们在 docker 目录中添加 emby-sever 目录,同步创建文件夹 config
  2. 打开文本编辑器将 docker-compose 粘贴进去并以 docker-compose.yml 另存为到刚刚创建的 emby-sever 文件夹里面
    version: '3'
    services:
      Emby_Server:
        container_name: emby-server
        image: emby/embyserver:latest
        ports:
          - 8096:8096/tcp
        volumes:
          - ./config:/config:rw
          - /volume1/Video:/mnt/video:rw
        environment:
          UID: 0
          GID: 0
          GIDLIST: 0,2,19
          ALL_PROXY:  http://192.168.31.50:7890
        devices: 
          - /dev/dri:/dev/dri
        privileged: true
        restart: always
        network_mode: bridge
  3. 重要须知
    1. 这里面需要讲一下,Video 文件夹,是你后续存放 影视文件 或者 Strm 的地方,你可以跟我一样直接创建一个共享目录来使用
    2. ALL_PROXY 这个环境变量是为了给你的Emby添加魔法,使其可以去刮削你的影视资料,比 HTTP_PROXYHTTPS_PROXY 更全面 (其实我只是懒得写两个变量,小声bb)
  4. OpList 一样,打开 Container Manager 套件
    群晖使用 Medialinker 实现网盘+Emby Strm 302播放
  5. 点击项目,点击新增,输入项目名称,设我们刚刚创建的路径 docker/emby-sever ,并一直点 下一步 ,直到部署完成
    群晖使用 Medialinker 实现网盘+Emby Strm 302播放
  6. 部署完成后,我们将其放置一边

1.3 Medialinker部署

群晖使用 Medialinker 实现网盘+Emby Strm 302播放

  1. 跟上面两一样,我们在 docker 目录中添加 medialinker 目录,同步创建文件夹 opt
  2. 打开文本编辑器将 docker-compose 粘贴进去并以 docker-compose.yml 另存为到刚刚创建的 medialinker 文件夹里面
    version: '3'
    services:
        medialinker:
          container_name: medialinker
          image: 'thsrite/medialinker:latest'
          volumes:
            - ./opt:/opt/
          environment:
            AUTO_UPDATE: false
            SERVER: emby
            NGINX_PORT: 8091
          # NGINX_SSL_PORT: 8095
          restart: always
          network_mode: "host"
  3. 跟上面两一样,打开 Container Manager 套件
    群晖使用 Medialinker 实现网盘+Emby Strm 302播放
  4. 点击项目,点击新增,输入项目名称,设我们刚刚创建的路径 docker/medialinker ,并一直点 下一步 ,直到部署完成
    群晖使用 Medialinker 实现网盘+Emby Strm 302播放
  5. 部署完成后,我们的基础准备工作就完成了

2. 项目配置


2.1 OpList配置网盘

群晖使用 Medialinker 实现网盘+Emby Strm 302播放

  1. 打开NAS所在的IP加上5244的端口
    • http://192.168.31.50:5244
      群晖使用 Medialinker 实现网盘+Emby Strm 302播放
  2. 默认账号为 admin ,默认密码可以前往刚刚的 Container Manager 中,从 容器、日志 中获取
    群晖使用 Medialinker 实现网盘+Emby Strm 302播放
  3. 进入后,将 设置-全局-签名所有 关闭(好像默认就是关闭的
  4. 添加支持 WebDAV策略支持302重定向 的网盘,这部分官方文档写的很清楚,我就不过多赘述了,切记必须要支持 302 的才能使用
  5. 网盘里面的文件夹建议分成3个常用的 <动漫 Comic>、<电影 Movies>、<电视剧 TV Shows>,方便后续Emby入库
    群晖使用 Medialinker 实现网盘+Emby Strm 302播放
  6. 若你只有1个302网盘,那本段后续就可以不用看了,点击跳转,前往下个部分 【2.1.1 Strm)】
  7. 由于我们的资源可能不在同一个网盘中,所以,我们需要将各个网盘中的文件合并,这时候就要用到OpenList的 别名 功能,具体介绍我就不详细展开了,其中有一点要注意,我们汇总的网盘里面都有个 缓存时间 ,这个一定不能设置为 数字 0,会导致别名地址访问很慢的问题

2.1.1 OpList配置Strm

  1. 点击 存储 ,驱动选择 Strm
  2. 挂载路径 我们就写 /Strm
  3. 最下方还有个 路径 选择 /Video,这里的Video对应这上方第5条
  4. 点击保存后,我们所需的 Strm文件就生成好了
  5. 我们通过群晖套件 CloudSync 将该目录下的文件全部下载到本地,即Emby的访问目录
    群晖使用 Medialinker 实现网盘+Emby Strm 302播放
    1. 打开 CloudSync
    2. 点击左上角的 +
    3. 拉到最下方选择 WebDAV
    4. 添加 OpList 地址,这里账号密码是我自己更改过的,你们按照自己设置的账号密码即可
    5. 如果你是按照我的教程配置的可以直接跟我选择一样的
      群晖使用 Medialinker 实现网盘+Emby Strm 302播放
    6. 设置完成后点击下一步,Strm就会同步到本地给Emby读取
  6. 到这里,Strm 就设置完成了

2.2 Emby配置

  • 由于Emby每个人设置不同,这里我只提供媒体库的设置方式,其余的自行配置
    1. 打开NAS所在的IP加上8096的端口
      • http://192.168.31.50:8096
  1. 这里我们以电视剧为例
    • 前文,我们将 /volume1/Video:/mnt/video:rw 映射在 Video 的文件夹中,所以,我们选择文件夹的时候就可以选择到我们从 OpList 下载的 Strm 文件
      群晖使用 Medialinker 实现网盘+Emby Strm 302播放
      群晖使用 Medialinker 实现网盘+Emby Strm 302播放
  2. 选择完成后,Emby配置Strm目录我们也部署完成了

2.3 Medialinker配置

群晖使用 Medialinker 实现网盘+Emby Strm 302播放

  1. 打开 File Station ,并来到 /docker/medialinker/opt 目录
  2. 在我们部署完 medialinker 后,就会出现 constant.js 的文件
  3. 其中,我们需要更改的地方
    群晖使用 Medialinker 实现网盘+Emby Strm 302播放
    1. Emby的api 【const embyApiKey
    2. Oplist的token 【const alistToken
    3. 如果是按照我的教程配置的,请将 【""】 之间清空
      const mediaMountPath = [""];
    4. 其余保持不变或有什么特殊需求按需配置
  4. 这时候,建议重启下 Medialinker 的容器

3. 访问


3.1 使用什么端口访问

  • 由于我们是需要让Emby通过302来播放网盘视频,所以,我们所进入的Emby端口不再是 8096 ,而是 Medialinker的8091端口,切记不要使用错端口

3.2 如何外网访问

  1. 由于本次部署教程全程使用的内网,这时候,你只需要将你的 8091 端口,反代到你的公网或中继服务器上即可
  • 本文作者:Bzmshang
  • 本文链接: https://bzmshang.top/Emby302.html
  • 版权声明:本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 4.0 许可协议。
  • 支付宝打赏
    支付宝扫一扫
  • 微信打赏
    微信扫一扫
感谢支持
文章很赞!支持一下吧
关于作者
9
0
0
0
一个小小的幕后工作者