Emby:使用115直链播放视频

原帖地址:NAS/群晖 Emby使用115直链播放视频 (onii.cn)

1、更新emby2Alist套件,外网访问4-10秒可加载(具体看网速,原来的需要20秒左右)

如为了安全,emby可以反代,但是alist不能反代,反代后起播时间倍数增长,可以把5244换成其他端口

2、Nginx使用host模式,默认为8091端口,如需更改,自行设置映射端口

3、emby2Alist项目的地址,作者持续更新,后续可以根据需求自行替换文件更新

https://github.com/bpking1/embyExternalUrl/tree/main/emby2Alist

原理介绍

简单点来说,emby上面的所有视频文件的播放链接会被 nginx 动态修改为 alist 302 的 115 直链。

但是为了让 emby 中有「视频文件」,你得给 emby 添加影视库,但是 emby 添加影视库需要「文件」, alist 本身没办法把网盘文件挂载到本地硬盘,所以需要通过 rclone 将网盘文件挂载到本地硬盘。

也就是说,除了 rclone,只要能有工具将网盘文件挂载到本地,让 emby 顺利加载「影视库」,都是不影响最终的直链播放效果的。

理论上来讲,你搞一堆虚假的文件,重命名为视频文件,只要目录结构和名称和网盘一致,骗过 emby 能够顺利入库的方案都是可以的。

Emby:使用115直链播放视频

采用 cd2 的原因是因为,cd2 挂载的效果比 rclone 要好,能够显著的加速 emby 入库时间,新版本的入库流程如下。

Emby:使用115直链播放视频

操作步骤

安装emby、alist、cd2,重点是用Nginx反代

安装 alist

docker run -d \
  --restart=always \
  -v /home/alist:/opt/alist/data \
  -p 5244:5244 \
  -e PUID=0 \
  -e PGID=0 \
  -e LMASK=022 \
  --name=alist \
  xhofe/alist:latest

设置密码

docker exec -it alist ./alist admin set password

访问 http://外网ip:5244,登录管理后台,添加 115 网盘,按需配置

Emby:使用115直链播放视频
Emby:使用115直链播放视频

记录 alist token 值,示例: alist-56aed914-dc75-4exxxxx

Emby:使用115直链播放视频

记录 alist 内网 IP 地址,示例: 172.17.0.2

安装 clouddrive2

安装前检查一下 是否安装了

fuse find /dev/fuse

显示/dev/fuse就是已安装,如果没有的话

apt install fuse3

安装cd2(自行修改路径)

建立路径

mkdir -p /mnt/alist && chmod -R 777 /mnt/alist
docker run -d \
      --name clouddrive \
      --restart=always \
      --env CLOUDDRIVE_HOME=/Config \
      -v /mnt/alist:/CloudNAS:shared \
      -v /home/cd2:/Config \
      --network host \
      --pid host \
     --privileged \
     --device /dev/fuse:/dev/fuse \
     cloudnas/clouddrive2-unstable

安装成功后,打开 http://外网ip:19798 进入后台地址,登录 cd2,扫码添加硬盘。

Emby:使用115直链播放视频

扫码添加完毕后,你的 cd2 根目录会出现一个网盘(名称随意),双击进入 **网盘根路径,**点击左上角挂载按钮

Emby:使用115直链播放视频
Emby:使用115直链播放视频

选择挂载路径(这里十分关键跟后面的 constant.js 中的路径直接相关,如果不一致会导致直链播放失败,建议按照我的配置来

Emby:使用115直链播放视频

选择好 alist 文件夹,点击确定后,会显示如下路径,建议修改权限为 777。

Emby:使用115直链播放视频

点击挂载后,查看挂载是否成功,若「失败原因」处显示空白,则证明一切正常。

Emby:使用115直链播放视频

安装 embyserver

自行修改路径(不允许写入刮削文件到网盘,新增媒体库时候,不勾选“将媒体图像保存到媒体文件夹中”)

docker run -d \
   --name=emby \
   -e PUID=0 \
   -e PGID=0 \
   -e TZ=Asia/Shanghai \
   -p 8096:8096 \
   -v /docker/emby:/config \
   -v /mnt/alist:/mnt/alist:rslave \
   --restart=always \
   --network=host \
  amilys/embyserver:latest

记录 embyserver 的内网地址,示例: 172.17.0.3

docker inspect --format=<span class="hljs-string">"{{.NetworkSettings.Networks.bridge.IPAddress}}"</span> emby
Emby:使用115直链播放视频

创建 & 记录 embyserver 的 APIKEY,示例: a159ebxxxxxx

访问 http://外网ip:8096,初始化 emby,生成并记录 embyserver 的 API KEY

其他配置

关闭转码等

Emby:使用115直链播放视频

关于刮削文件建议

如果刮削文件放在网盘,反复通过网盘读取小文件,可能会影响速度,从而导致卡顿,建议重新用emby刮削(emby怎么实现刮削,后期专门出个教程),建立媒体库时候勾选刮削,并不勾选,具体可以自行研究测试

Emby:使用115直链播放视频

安装 nginx

Emby2Alist压缩包下载

发布时间 2024 年 7 月 31 日
已经登录?刷新

上传到服务器,解压emby2Alist

unzip emby2Alist.zip
cd emby2Alist/nginx/conf.d

或者修改好再上传按照下图修改constant.js

Emby:使用115直链播放视频

【重点】

挂载路径:const embyMountPathArr = [“/mnt/alist”],需匹配alist的地址,例如alist显示的网盘路径是/115/电影/xx.mp4,这个地址需要保证跟alist一致,如下图出现2个/115,那个这个地址就改成

const embyMountPathArr = [“/media/115”] ““这个删除的意思””

随便找一部电影,看地址:

【emby 的地址】/media/115/115/Emby媒体库/电影/华语电影/97家有喜事 (1997)/97家有喜事 (1997) – 1080p.mkv

【alist 的地址】/115/Emby媒体库/电影/华语电影/97家有喜事(1997)/97家有喜事 (1997) – 1080p.mkv

需要把 emby 的地址,变成跟 alist 一样,这样就实现反代

按照上面的例子,就是只要“/media/115”删掉,就能保持跟 alist 一致,所以const embyMountPathArr = [“/media/115″] 就是删掉[” “]的内容

以上只是一个例子,大家理解一下意思

emby

Emby:使用115直链播放视频

alist

Emby:使用115直链播放视频

最终查看网盘的文件路径是/volume2/115emby/media/115,这里填的是/media

但是如果像我一样,cd2挂载后文件夹是/volume2/115emby/media/115/115,这里填的是/media/115)

Emby:使用115直链播放视频
Emby:使用115直链播放视频

完成上方配置后输入

docker-compose up -d

或者(自行修改路径)

ocker run -d \
   --name=emby-nginx \
   -e PUID=0 \
   -e PGID=0 \
   -e TZ=Etc/UTC \
   -v /home/emby2Alist/nginx/nginx.conf:/etc/nginx/nginx.conf \
   -v /home/emby2Alist/nginx/conf.d:/etc/nginx/conf.d \
   -v /home/emby2Alist/nginx/embyCache:/var/cache/nginx/emby \
   -v /home/emby2Alist/nginx/log:/var/log/nginx \
   --restart=always  \
   --network=host \
   nginx:alpine

测试和使用

不能网页端播放,地址为:外网ip/域名:8091(放行端口);只能通过软件,如emby、infuse、Vidhub、fileball(会提示错误,点击播放可继续播放)等之类,请查看上传是否占用,如占用上传或出现错误,请仔细检查constant.js的路径(docker映射后的路径)

发布者:木木,转载请注明出处:https://blog.mmcool.site/4748.html

Like (0)
Donate 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
木木的头像木木
Previous 2024 年 7 月 31 日 下午4:22
Next 2024 年 7 月 31 日 下午4:42

相关推荐

发表回复

Please Login to Comment
SHARE
TOP