简单记录下emby开心版挂载alist生成的strm文件实现网盘直链播放步骤和设置
dpanel管理面板
dpanel是一个Docker 可视化面板系统,提供完善的 docker 管理功能,docker-compose.yml内容如下:
1 | services: |
运行docker compose up -d
命令,等待执行完成后访问http://ip:8807
即可打开面板,然后填入设置的账号密码登录
部署EMBY开心版
点击Compose
-创建任务
,右边填入
1 | version: "3.8" |
提交后部署,部署完毕后打开http://ip:7568
就可以进行服务器设置
开启开心版高级功能
这个emby开心版支持以下功能:
- emby-erx Emby 增强/美化 插件
- dd-danmaku Emby 弹幕库插件
- emby调用外部播放器
开启方法为编辑ext.sh (/config/config/ext.sh)
修改后重启服务即可1
2
3
4
5
6
7
8
9
10
11## Emby-crx 美化 媒体库ID为空时不启用
## 媒体库id,用逗号分隔。进入媒体库后url里的parentId
## MediaId="21466,21463"
MediaId=""
## 扩展插件:
# embyLaunchPotplayer 外部播放
# ede.user 弹幕
# actorPlus 未知演员隐藏
extmod='["embyLaunchPotplayer","ede.user","actorPlus"]'
部署alist
点击Compose
-创建任务
,右边填入
1 | version: "3.8" |
提交后部署,部署完毕后打开http://ip:5244
即可利用控制台输出的初始密码登录
部署autofilm生成strm文件
点击Compose
-创建任务
,右边填入
1 | version: '3.8' |
提交后部署,部署完毕后打开文件管理,然后打开config
文件夹,新建一个config.yaml
文件,填入
1 | # 项目官方模板和教程:https://blog.akimio.top/posts/1031/ |
保存之后,等待定时任务执行生成文件即可,文件生成完毕后,再去emby控制台添加媒体库,即可扫描入库!
提示:只要id不一样,可以把不同网盘路径(source_dir)文件生成的strm文件放到同一个目录下(target_dir)
部署nginx实现直链播放
点击Compose
-创建任务
,右边填入
1 | version: "3.8" |
提交后部署,然后前往embyExternalUrl下载最新版本,本教程用的是v0.4.5
版本可正常使用
下载解压把emby2alist里的nginx文件夹内容上传至服务器/data/docker_app/nginx
中,然后使用文件管理功能修改以下文件
- /etc/nginx/conf.d/constant.js如果需要https,还需要修改
1
2
3
4
5
6
7
8
9
10// 这里默认 emby/jellyfin 的地址是宿主机,要注意 iptables 给容器放行端口
const embyHost = "http://172.17.0.2:8096"; # 可以在emby控制台看到也可以在dpanel看到
// emby/jellyfin api key, 在 emby/jellyfin 后台设置
const embyApiKey = "8dcc57f0b3d6424a8821b75dc9808514";
// 挂载工具 rclone/CD2 多出来的挂载目录, 例如将 od,gd 挂载到 /mnt 目录下: /mnt/onedrive /mnt/gd ,那么这里就填写 /mnt
// 通常配置一个远程挂载根路径就够了,默认非此路径开头文件将转给原始 emby 处理
// 如果没有挂载,全部使用 strm 文件,此项填[""],必须要是数组
const mediaMountPath = [""]; - /etc/nginx/conf.d/emby.conf
1
2include /etc/nginx/conf.d/includes/http.conf;
include /etc/nginx/conf.d/includes/https.conf; #放开这一行的注释 - /etc/nginx/conf.d/includes/https.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14server_name emby.example.com; # 如果还有服务需要nginx这一行可以改对应域名,否则不需要改
## SSL SETTINGS ##
listen [::]:443 ssl; ## 默认是8095端口,可以改成其他端口
listen 443 ssl; ## 默认是8095端口,可以改成其他端口
# listen 8095 quic reuseport; ## http3 enabled
http2 on; ## since nginx 1.25.1, the "listen ... http" directive is deprecated
add_header Alt-Svc 'h3=":$server_port"; ma=86400'; ## http3 enabled
ssl_session_timeout 30m;
ssl_protocols TLSv1.3 TLSv1.2 TLSv1.1 TLSv1;
ssl_certificate /etc/nginx/cert/example.com.pem; ## 配置正确的路径
ssl_certificate_key /etc/nginx/cert/example.com.key; ## 配置正确的路径
ssl_session_cache shared:SSL:10m;
error_page 497 =307 https://$host:$server_port$request_uri; ## if http and https use same port, Redirects http:// to https://
测试
- 先浏览器打开emby源端口网址,如
http://ip:7568
,播放视频测试是否正常 - 第一步不成功请检查emby和alist的配置,可以把strm文件内容取出来看看能否正常下载播放
- 然后打开nginx代理后的网址,如
https://example.com
测试播放 - 如果不成功,打开nginx的错误日志排错