先秀一下 emby 图
文件夹准备#
!!!!!全部看完,再看最后的完整安装示例!!!!!
!!!!!媒体库数量少的可以选择不部署 auto-symlink,这个只是用几 Kb 大小的 strm 文件去代替几十 G 的媒体文件让 emby 扫库的时候变快而已!并不是必须!!!!!如果你的媒体库特别多,比如一万部电影,那么可以选择部署 auto-symlink,这样 emby 扫库几秒就完成了!!!!!注意!不部署 auto-symlink 的话就不需要创建 strm 文件夹,emby 媒体库添加文件夹时选的就是 cd2 挂载后的媒体库路径!!!!!
准备三个文件夹和一个 alist 挂载网盘时的挂载路径,一个 cd2 挂载网盘时的挂载路径(不部署 auto-symlink 就是准备两个文件夹)
1. 网盘用 cd2 挂载后,mp 的下载目录
如:/share/Drive/115/downloads
2. 网盘用 cd2 挂载后,mp 整理后的媒体库目录
如:/share/Drive/115/media
3. 软链接 STRM 文件夹(不部署 auto-symlink 可以跳过)
如:/share/Drive/115STRM/media
#alist 和 cd2 的挂在路径要一样!!不然 nginx 要改成名称替换,一样的话就不用改。
alist 挂载网盘时的挂载路径
如:/115
cd2 挂载网盘时的挂载路径
如:/115
media 文件夹下面是一级目录和二级目录。
/share/Drive/115/media/ 电影 / 欧美电影
/share/Drive/115STRM/media/ 电视剧 / 欧美剧
解释:
微信发送要看的片到 mp,mp 自动择优下载到 “1” 这个目录,下载完成后自动刮削和转移到 “2” 这个目录,
转移完成后 auto-symlink 监控到 “2” 目录发生变化,自动生成对应 STRM 文件和复制对应元数据(nfo 和 jpg 等)到 “3” 这个文件夹。然后 emby 读取 “3” 这个文件夹进行播放。
strm 文件的内容就是媒体对应的 “2” 地址!!!播放的时候就是调用 “2” 地址进行播放,所以没有做 nginx 的时候 cd2 后台下载那里会有一个 embyserver 的进程,做了 nginx 之后 cd2 后台就没有 embyserver 进程了,就代表 emby 播放是直链网盘播放了,不占用宽带上传了!
emby 目录映射注意事项#
emby 需要同时映射 “2” 和 “3” 目录!!!
并且映射 “2” 目录时,冒号右边必须是绝对路径!
映射 “3” 目录时冒号右边可以随意写映射路径。
媒体库添加文件夹时选的是 “3” 目录!!!!!!!!
如:
“2” 路径:/share/Drive/115
“3” 路径:/share/AAAA/STRRM
那么这样映射
- '/share/Container/Emby:/config'
- '/share/Drive/115:/share/Drive/115'
- '/share/AAAA/STRRM:/STRM'
那么 emby 媒体库添加文件夹的时候选的就是
如:/STRM/ 电视剧 / 欧美剧
如:
“2” 路径:/share/Drive/115/media
“3” 路径:/share/Drive/115STRM/media
那么这样映射
volumes:
- '/share/Container/Emby:/config'
- '/share/Drive:/share/Drive'
那么 emby 媒体库添加文件夹的时候选的就是
如:/share/Drive/115STRM/media/ 电视剧 / 欧美剧
auto-symlink 目录映射注意事项#
(不部署 auto-symlink 可以跳过)
auto-symlink 和 “2” 目录要一致,并且冒号右边必须是绝对路径!
如:
“2” 路径:/share/Drive/115
“3” 路径:/share/AAAA/STRRM
那么这样映射
volumes:
- /share/AAAA/STRRM:/share/AAAA/STRRM #strm目录
- /share/Drive/115:/share/Drive/115:rslave #媒体库目录
- /share/Container/STRM/config:/app/config
如:
“2” 路径:/share/Drive/115/media
“3” 路径:/share/Drive/115STRM/media
那么这样映射就行了。
volumes:
- /share/Drive:/share/Drive:rslave #包含了strm目录和媒体库目录
- /share/Container/STRM/config:/app/config
nginx 注意事项#
注意事项一:emby 用哪个端口#
如果你 nginx 的端口映射是这样的
ports:
- 8099:80
那么 emby 访问 8099 才可以直链!!!也就是原来的 emby 地址是 10.10.10.10:8096,要访问 10.10.10.10:8099 才行,反代的话就是反代 8099 这个端口。8099 端口可以随意改。
注意事项二:修改constant.js文件#
要修改的有第 4,7,9,11,12,17 行。
必改项
第 4 行:填 emby 内网地址,emby 需要 host 模式!!!
第 7 行:划重点,填完其他的在讲。
第 9 行:emby 的 apikey,在
设置-api密钥
里面,没有就新建一个,有就直接用。第 11 行:alist 的域名
第 12 行:alist 的端口
第 17 行:alist 的 token,在
后台-设置-其他-令牌
里面选填项
第 21 行:说是选填项,但是建议也写上!!
第 25 行:第 25 行和第 7 行效果一样,选一个填!!不要两个都写!!
教你填第 7 行和第 25 行
我们在第一步文件夹准备的时候已经得到了 5 个路径,分别是
1. 网盘用 cd2 挂载后,mp 的下载目录
如:/share/Drive/115/downloads2. 网盘用 cd2 挂载后,mp 整理后的媒体库目录
如:/share/Drive/115/media3. 软链接 STRM 文件夹
如:/share/Drive/115STRM/mediaalist 挂载网盘时的挂载路径
如:/115cd2 挂载网盘时的挂载路径
如:/115此时
alist 的媒体路径是:/115/media/ 电影 / 欧美电影 / 蜘蛛侠 / 蜘蛛侠.mkv
emby 的媒体路径是:/share/Drive/115/media/ 电影 / 欧美电影 / 蜘蛛侠 / 蜘蛛侠.mkv
可以看出,
/115
之后的路径都一模一样。也就是 emby 的媒体路径多出了一个
/share/Drive
:
/115/media/电影/欧美电影/蜘蛛侠/蜘蛛侠.mkv
/share/Drive
/115/media/电影/欧美电影/蜘蛛侠/蜘蛛侠.mkv
此时第 7 行方括号内应该填:
"/share/Drive"
(带双引号)
如果你 alist 和 cd2 网盘映射路径不一致。那么就填第 25 行
alist 挂载网盘时的挂载路径
如:/115alistcd2 挂载网盘时的挂载路径
如:/115cd2此时
alist 的媒体路径是:/115alist/media/ 电影 / 欧美电影 / 蜘蛛侠 / 蜘蛛侠.mkv
emby 的媒体路径是:/share/Drive/115cd2/media/ 电影 / 欧美电影 / 蜘蛛侠 / 蜘蛛侠.mkv
可以看出,
/media
之后的路径都一模一样。也就是两个路径开头一个是
/115alist
,一个是/share/Drive/115cd2
/115alist
/media/电影/欧美电影/蜘蛛侠/蜘蛛侠.mkv
/share/Drive/115cd2
/media/电影/欧美电影/蜘蛛侠/蜘蛛侠.mkv
此时第 25 行方括号内应该填:
"/share/Drive/115cd2", "/115alist"
(带双引号,前面填 emby 路径头,后面填 alist 路径头)
这个时候打开 10.10.10.10端口就可以直链网盘播放了。
检查是否直链#
检查方式一:#
使用各类客户端,如 Emby 官方客户端、Infuse、Fileball、Vidhub 等登录 nginx 端口(如 8099),找一个刮削好的片子播放,或者 web 跳转第三方播放器 potplayer、iina 等。
查看 CD2 的下载任务。如果没有大流量的对应文件下载,进程为 /system/EmbyServer
,即 302 转发成功。
检查方式二:#
使用各类客户端,如 Emby 官方客户端、Infuse、Fileball、Vidhub 等登录 nginx 端口(如 8099),找一个刮削好的片子播放,或者 web 跳转第三方播放器 potplayer、iina 等。
查看 nginx 日志。如果出现以下直链地址,表示直链成功,并且此时流量不经过部署emby的
服务器。就不占用 VPS 或者家宽的上传了。
排错:#
1:如果能播放,还有 embyserver 进程,那么你使用的是 emby 的端口,所以才能释放,请使用 nginx 端口登录 emby 释放测试。
2:如果用 nginx 端口且不能播放,那只能是路径错了,检查 nginx 配置文件和 emby,alist,cd2 的映射路径!!!
完整安装示例#
!!!!!媒体库数量少的可以选择不部署 auto-symlink,这个只是用几 Kb 大小的 strm 文件去代替几十 G 的媒体文件让 emby 扫库的时候变快而已!并不是必须!!!!!如果你的媒体库特别多,比如一万部电影,那么可以选择部署 auto-symlink,这样 emby 扫库几秒就完成了!!!!!注意!不部署 auto-symlink 的话就不需要创建 strm 文件夹,emby 媒体库添加文件夹时选的就是 cd2 挂载后的媒体库路径!!!!!
本安装示例有部署 auto-symlink
本安装示例的前提是媒体库内已经有部分影视,并且已经做好刮削
文件夹准备#
三个文件夹和一个 alist 挂载网盘时的挂载路径,一个 cd2 挂载网盘时的挂载路径
1. 网盘用 cd2 挂载后,mp 的下载目录
如:/share/Drive/115/downloads
2. 网盘用 cd2 挂载后,mp 整理后的媒体库目录
如:/share/Drive/115/media
1,2 路径在 cd2 挂载的时候完成
3. 软链接 STRM 文件夹
如:/share/Drive/115STRM/media
#alist 和 cd2 的挂在路径要一样!!不然 nginx 要改成名称替换,一样的话就不用改。
alist 挂载网盘时的挂载路径
如:/115
cd2 挂载网盘时的挂载路径
如:/115
部署 auto-symlink#
version: "3.8"
services:
auto_symlink:
container_name: auto_symlink
environment:
- TZ=Asia/Shanghai
volumes:
#- /share/Drive:/share/Drive #strm目录
- /share/Drive:/share/Drive:rslave #媒体库目录
- /share/Container/STRM/config:/app/config
ports:
- 8095:8095
user: 0:0
logging:
options:
max-size: 10m
max-file: 3
restart: unless-stopped
image: shenxianmq/auto_symlink:latest
networks: {}
# 放这个只是为了让你理解我文件夹为什么这么挂载。。。。。
# 1.网盘用cd2挂载后,mp的下载目录 如:/share/Drive/115/downloads
# 2.网盘用cd2挂载后,mp整理后的媒体库目录 如:/share/Drive/115/media
# 3.软链接STRM文件夹(不部署auto-symlink可以跳过) 如:/share/Drive/115STRM/media
# alist挂载网盘时的挂载路径 如:/115
# cd2挂载网盘时的挂载路径 如:/115
浏览器打开,输入用户名admin
, 密码password
登录。
添加同步#
任务名称:随便
媒体目录:改成你自己的,如果你文件夹准备的时候就和我一模一样这里就跟我一模一样。
本地目录:改成你自己的,如果你文件夹准备的时候就和我一模一样这里就跟我一模一样。
元数据模式:本地模式
软链接模式:strm
strm 模式:local
其他选项和我一模一样。
全局设置#
手动同步#
手动同步一次之后,mp 整理媒体入库后都会自动监控媒体文件夹,发现媒体文件夹有更改就会创建或者删除 strm 文件和元数据。
点击开始同步之后,点击查看日志,就会输出创建 strm 文件和复制 nfo 和 jpg 的日志了。此时 strm 文件夹里面就有 strm 文件 emby 就能读取了。
部署 emby#
version: '3.8'
services:
linuxserver:
container_name: Emby
network_mode: host
environment:
- PUID=0
- PGID=0
- TZ=Asia/Shanghai
#- NO_PROXY=172.17.0.1,127.0.0.1,localhost 这4条是给emby走代理
#- HTTP_PROXY=http://10.10.10.1:7890 这样刷新媒体元数据时
#- HTTPS_PROXY=http://10.10.10.1:7890 才会下载演员图片,合集图片到metadata目录
#- ALL_PROXY=http://10.10.10.1:7890 如果本身nas就走代理,那么可以不配置这四条
volumes:
- '/share/Container/Emby:/config'
- '/share/Drive:/share/Drive'
devices:
- '/dev/dri:/dev/dri'
restart: unless-stopped
image: 'lscr.io/linuxserver/emby:beta'
# 放这个只是为了让你理解我文件夹为什么这么挂载。。。。。
# 1.网盘用cd2挂载后,mp的下载目录 如:/share/Drive/115/downloads
# 2.网盘用cd2挂载后,mp整理后的媒体库目录 如:/share/Drive/115/media
# 3.软链接STRM文件夹(不部署auto-symlink可以跳过) 如:/share/Drive/115STRM/media
# alist挂载网盘时的挂载路径 如:/115
# cd2挂载网盘时的挂载路径 如:/115
添加媒体库文件夹#
添加媒体库,选择 strm 文件夹,(不部署 auto-symlink,就选择 cd2 挂载 115 网盘的目录)
媒体库设置#
只打开启用实时监控,和元数据读取器,其他所有关于元数据下载器的选项都不打勾!元数保存储方式一定不可以勾选。
好了之后保存,emby 应该几秒就扫库完成了。
因为我们 auto-symlink 的时候设置了同步软连接和元数据,所以 strm 文件夹下会有一个strm文件
代替媒体文件,和nfo
文件,和jpg
图片。所以 emby 扫库完成时有海报,有简介。但是没有演员图片(只要你是第一次安装 emby,emby 的 config 文件夹下没有 metadata 文件夹,就不可能有演员图片)。这时再重新设置媒体库设置。
重新设置 媒体库设置#
把所有关于元数据下载器
和图像获取器
的选项都选择TheMoveDb
其他都不勾选!!!!!
设置好后,点击刷新媒体元数据,直接覆盖全部元数据(不会覆盖掉 nfo 文件,因为我们元数保存储方式没有勾选。)替换所有图像不勾选,点击刷新。等待刷新好后再打开一部影片,就可以看到演员图片了。
随便点击一部电影电视剧,往下拉到底,可以看到STRM字样
和STRM文件内容
。此时 emby 部署完成。下一步进行劫持 emby 播放地址到 alist 网盘真实播放地址进行直链网盘播放。
部署 nginx#
version: '3'
services:
nginx:
image: registry.cn-shenzhen.aliyuncs.com/hicane/emby-nginx:latest
container_name: nginx
network_mode: bridge
ports:
- 8099:80 #emby访问8099才可以直链!!!也就是原来的emby地址是10.10.10.10:8096,要访问10.10.10.10:8099才行,反代的话就是反代8099这个端口。端口可以随意改。
volumes:
- /share/Container/nginx/constant.js:/etc/nginx/conf.d/constant.js
restart: unless-stopped
设置 emby 端口#
如上所示,我映射 8099,所以 emby 访问 8099 才可以直链!!!也就是原来的 emby 地址是 10.10.10.10:8096,要访问 10.10.10.10:8099 才行,反代的话就是反代 8099 这个端口。端口可以随意改。
修改constant.js文件#
怎么修改看上文 ——注意事项二:修改 constant.js 文件
全部部署完毕#
现在可以打开各类客户端,如 Emby 官方客户端、Infuse、Fileball、Vidhub 等登录nasip:nginx端口
或者反代地址进行播放测试了。
怎么测试是否直链看上文 ——检查是否直链
常见问题#
emby 挂载路径怎么设置?
映射绝对路径,然后对比 emby 里面的媒体信息里面的路径和 alist 的路径,去 nginx 的配置文件里面进行修改。
如果安装了 auto-symlink 的还要再映射一个 strm 路径。
emby 的端口用哪个?
用 nginx 的。用 emby 的是不可能直链网盘播放的哈。
emby 的网络模式可以改成桥接吗?
不可以,只能 host,至少我测试是这样。。
nginx 配置文件里面的 alist 地址可以填写内网地址吗?
我试过了,外网没法播放。所以建议填 alist 的外网地址。
auto-symlink 日志每天 2:30 全量同步的时候一直覆盖 nfo 文件,是什么问题?
emby 媒体库设置的时候元数保存储方式勾选了,不勾选这个就行了。
怎么判断 emby 播放是不是直链网盘?
最简单的办法,用 nginx 端口播放一个视频,coulddrive2 后台进程下在那里,没有 embyserver 进程就是直链了。
STRM 文件夹可以随意设置吗?
可以,随便改。
auto-symlink 可以实时监控吗,就是媒体入库后自动创建 strm 和复制元数据?
可以,但是有条件,1、coulddrive2 开会员。2、只能在本地或者 coulddrive2 里面移动复制。moviepilot 入库可以实时监控。
我可以用 emby 刮削,auto-symlink 只创建 strm 文件吗?
可以,添加同步的时候最后一个选项 同步后缀名-元数据后缀 随便写一个不存在的后缀名就可以了,因为不能全删掉,比如.哈哈删不掉我
(注意:要带一个点 “.”)然后 emby 媒体库设置把元数保存储方式勾上就行了。
我可以改成其他网盘,直链其他网盘播放吗?
可以,只要/115
改成网盘名字,其他一样就行了。
auto-symlink 实时监控不生效是怎么回事?
需要全量同步后才可以生效,至少我测试是这样的。。然后它有缓冲期,也就是同步了一部或者几部之后会休息两三分钟再同步下一部电影电视剧。。