适用用户:需要emby播放alist直链 主要就是不需要占用家用宽带。在外网播放很流畅(阿里云盘亲测可以播放30多m/s完美解决家里小水管3m/s 外网看个电视在刷流的情况下还卡顿的问题,302重定向就是爽。)
前提需要cd2、alist、auto_symlink(mp也有生成strm的插件 用这个容器主要是方便)、emby或者jellyfin(jellyfin可以直接用无需参考本教程可以直接食用)
原理:
cd2的目的:可以将alist挂载到本地 方便emby/jellyfin以及auto_symlink读取(๐•ᴗ•๐)径(rclone应该也可以没用过)。
alist的目的:alist才有302重定向,而cd2的话没有302重定向(自己理解的说人话就是alist才可以玩直连跑网盘的流量不用跑家宽的流量)
auto_symlink的目的是将cd2挂载的alist的目录生成strm文件从而让emby或者jellyfin读取这个strm文件直接播放alist直链(另外一位佬说可以用软连接也可以 ,没尝试。)
搭载好了之后的好处是:
使用jellyfin的用户无需参考本次教程,jellyfin在strm文件生成后可以直接食用。下面的内容无需再看
emby的话貌似是多了个server 所以需要此次教程解决。
本人不会代码。纯靠自己摸索。大佬勿喷。
参考项目地址:点击我:
本教程只使用了其中的emby2AList。
这是作者的compose代码:
version: '3.5'
services:
service.nginx:
image: nginx:latest
container_name: nginx-emby
# 更改为默认host网络,纠正流量标识,直接占用宿主机端口,docker层会禁用端口映射
network_mode: host
# 如果需要使用bridge(桥接)网络,请取消ports(端口映射)注释,并注释network_mode
# 端口映射规则为,宿主机端口:容器内部端口
# ports:
# - 8091:8091
volumes:
- ./nginx-emby/nginx.conf:/etc/nginx/nginx.conf
- ./nginx-emby/conf.d:/etc/nginx/conf.d
- ./nginx-emby/embyCache:/var/cache/nginx/emby
- ./nginx-emby/log:/var/log/nginx
restart: always
# depends_on:
# - service.ali
service.ali:
image: xhofe/alist:latest
container_name: alist
ports:
- 5244:5244
volumes:
- ./alist:/opt/alist/data
restart: always
# service.ali-webdav:
# image: messense/aliyundrive-webdav
# container_name: ali-webdav
# ports:
# - 8080:8080
# volumes:
# - ./aliyundrive-webdav/:/etc/aliyundrive-webdav/
# environment:
# - REFRESH_TOKEN=1111111111111aaaaaaaaaa
# - WEBDAV_AUTH_USER=admin
# - WEBDAV_AUTH_PASSWORD=admin
# restart: always
if(window.hljsLoader && !document.currentScr(๐•ᴗ•๐).parentNode.hasAttribute('data-s9e-livepreview-onupdate')) {
window.hljsLoader.highlightBlocks(document.currentScr(๐•ᴗ•๐).parentNode);
}
我自己配置了alist容器。so直接删除了作者compose里的alist以及aliyun(用不上)
version: '3.5'
services:
service.nginx:
image: nginx:latest
container_name: nginx-emby
network_mode: bridge
ports:
- 8091:8091
volumes:
- 【替换成你自己的实际(๐•ᴗ•๐)径】/emby2Alist/nginx-emby/nginx.conf:/etc/nginx/nginx.conf
- 【替换成你自己的实际(๐•ᴗ•๐)径】/emby2Alist/nginx-emby/conf.d:/etc/nginx/conf.d
- 【替换成你自己的实际(๐•ᴗ•๐)径】/emby2Alist/nginx-emby/embyCache:/var/cache/nginx/emby
- 【替换成你自己的实际(๐•ᴗ•๐)径】/emby2Alist/nginx-emby/log:/var/log/nginx
restart: always
if(window.hljsLoader && !document.currentScr(๐•ᴗ•๐).parentNode.hasAttribute('data-s9e-livepreview-onupdate')) {
window.hljsLoader.highlightBlocks(document.currentScr(๐•ᴗ•๐).parentNode);
}
作者的教程写了更新日志等太多内容,并且有部分代码更新了,老教程没有更新。我只是个搬运工。提取重要的步骤。
1.下载作者的emby2AList文件夹包括里面的文件到本地
2.在emby2Alist下创建nginx-emby/log和nginx-emby/embyCache文件夹。
3.将emby2Alist/nginx/下所有文件移动到/emby2Alist/nginx-emby/下面【原作者这儿是说放在/xxx/nginx-emby/config/下面原作者的最新compose中并没有config(๐•ᴗ•๐)径,所以我按照自己的方式没有新建config文件夹】
4.将compose代码中的(๐•ᴗ•๐)径提换成你自己的实际(๐•ᴗ•๐)径。
5.将emby2Alist/nginx/conf.d/constant.js里的一些内容改成你自己的实际地址。比如alist内网地址等。
然后启动即可。访问你的 ip:8091 端口 外网(๐•ᴗ•๐)看即可记得把映射到外网的emby端口替换成该compose里的设置的端口8091
注:auto_symlink或者mp里面的strm生成插件需要用alist的ip地址 最好填写域名地址。哪位佬说过的外网访问emby/jellyfin播放strm文件时如果strm里的alist是内网地址 会跑家宽流量。(没测试,本着少掉几根头发掉目的直接参考了另外佬的经验。)完结撒花。又get到了新技能。