Alist+Emby+Strm+302 实现免挂载直连播放
一、方案优势
核心原理:
- 使用
.strm
文本文件作为播放指引(每个文件仅1KB) - 通过Alist获取115网盘等云存储直链
- Emby直接播放云端媒体文件(无需下载到本地)
四大优势:
- 💾 零本地存储:媒体文件全存云端
- ⚡ 即点即播:无需等待完整下载
- 🛠️ 部署简单:无需复杂挂载工具
- 📱 多端兼容:手机/TV/PC全支持
二、环境准备
硬件要求
- 任意Linux服务器(1核1G即可)
- 存储空间需求:仅需100MB(存放索引文件)
软件依赖
- Docker运行环境
- Docker Compose工具
▶️ 安装命令:
sudo apt update && sudo apt install docker.io docker-compose -y
三、目录结构搭建
# 创建主工作目录
sudo mkdir -p /opt/media_suite && cd /opt/media_suite
# 创建子目录结构
sudo mkdir -p {emby/config,strm_files/{movies,tvshows},autofilm/config,mediawarp/config}
# 设置权限(将1000替换为你的实际用户ID)
sudo chown -R 1000:1000 /opt/media_suite
四、Docker服务部署
1. 创建docker-compose.yml
version: "3.8"
services:
mediawarp:
image: naxbr/mediawarp:latest
container_name: mediawarp
restart: unless-stopped
ports:
- "8080:8080"
volumes:
- ./mediawarp/config:/config
networks:
- media_network
emby:
image: amilys/embyserver:4.9.0.46
container_name: emby
restart: unless-stopped
ports:
- "8096:8096"
- "8920:8920"
environment:
- PUID=1000 # 必须修改为你的用户ID
- PGID=1000 # 必须修改为你的用户组ID
- TZ=Asia/Shanghai
volumes:
- ./emby/config:/config
- ./strm_files/movies:/media/movies
- ./strm_files/tvshows:/media/tvshows
networks:
- media_network
autofilm:
image: naxbr/autofilm:1.3.2
container_name: autofilm
restart: unless-stopped
environment:
- TZ=Asia/Shanghai
- PUID=1000 # 必须与Emby一致
- PGID=1000 # 必须与Emby一致
volumes:
- ./autofilm/config:/config
- ./strm_files:/media
networks:
- media_network
networks:
media_network:
2. 启动服务
# 进入工作目录
cd /opt/media_suite
# 一键启动所有服务
sudo docker-compose up -d
五、关键配置详解
1. MediaWarp配置 (mediawarp/config/config.yml
)
Port: 8080
MediaServer:
Type: Emby
ADDR: http://emby:8096
AUTH: 你的Emby_API密钥 # 在Emby后台获取
HTTPStrm:
Enable: True
TransCode: False
PrefixList:
- /media/movies
- /media/tvshows
2. AutoFilm配置 (autofilm/config/config.yaml
)
Alist2StrmList:
- id: Movies_Scan
cron: "0 0 * * *"
url: "http://你的Alist地址:5244"
token: "你的Alist_Token"
source_dir: "/电影目录"
target_dir: "/media/movies"
mode: "AlistURL"
- id: TVShows_Scan
cron: "0 1 * * *"
url: "http://你的Alist地址:5244"
token: "你的Alist_Token"
source_dir: "/剧集目录"
target_dir: "/media/tvshows"
mode: "AlistURL"
六、服务验证与使用
1. 检查服务状态
# 查看容器运行状态
sudo docker-compose ps
# 查看实时日志
sudo docker-compose logs -f
2. Emby初始化设置
- 访问
http://服务器IP:8096
创建媒体库:
- 电影库路径:
/media/movies
- 剧集库路径:
/media/tvshows
- 电影库路径:
- 开启硬件加速(可选)
3. 访问入口
- Emby原生地址:
http://IP:8096
- MediaWarp优化地址:
http://IP:8080
七、常见问题排查
1. 文件权限问题
# 查看用户ID
id -u
# 递归修复权限
sudo chown -R 1000:1000 /opt/media_suite
2. 播放失败排查
# 查看MediaWarp日志
docker-compose logs mediawarp
# 查看Emby播放日志
docker exec emby tail -n 100 /config/logs/embyserver.txt
3. 强制刷新媒体库
docker exec emby curl -X POST "http://localhost:8096/emby/Library/Refresh?api_key=你的API密钥"
八、进阶优化建议
- CDN加速:为Alist配置域名+CDN
- 自动削刮:配置Emby元数据抓取
- 安全加固:配置HTTPS证书
- 硬件加速:开启Intel QSV/Nvidia解码
附:相关项目地址
- Alist项目:https://alist.nn.ci
- AutoFilm原版:https://github.com/akimio521/autofilm
- MediaWarp原版:https://github.com/akimio521/mediawarp
通过本方案,您已成功搭建起一个零本地存储、全云端化的高性能媒体库系统。任何问题欢迎在评论区留言交流!