先秀一下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:nginx端口就可以直链网盘播放了。
检查是否直链
检查方式一:
使用各类客户端,如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实时监控不生效是怎么回事?
需要全量同步后才可以生效,至少我测试是这样的。。然后它有缓冲期,也就是同步了一部或者几部之后会休息两三分钟再同步下一部电影电视剧。。