一、方案优势

核心原理:

  • 使用.strm文本文件作为播放指引(每个文件仅1KB)
  • 通过Alist获取115网盘等云存储直链
  • Emby直接播放云端媒体文件(无需下载到本地)

四大优势:

  1. 💾 零本地存储:媒体文件全存云端
  2. ⚡ 即点即播:无需等待完整下载
  3. 🛠️ 部署简单:无需复杂挂载工具
  4. 📱 多端兼容:手机/TV/PC全支持

二、环境准备

硬件要求

  • 任意Linux服务器(1核1G即可)
  • 存储空间需求:仅需100MB(存放索引文件)

软件依赖

  1. Docker运行环境
  2. 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初始化设置

  1. 访问 http://服务器IP:8096
  2. 创建媒体库:

    • 电影库路径:/media/movies
    • 剧集库路径:/media/tvshows
  3. 开启硬件加速(可选)

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密钥"

八、进阶优化建议

  1. CDN加速:为Alist配置域名+CDN
  2. 自动削刮:配置Emby元数据抓取
  3. 安全加固:配置HTTPS证书
  4. 硬件加速:开启Intel QSV/Nvidia解码

附:相关项目地址


通过本方案,您已成功搭建起一个零本地存储、全云端化的高性能媒体库系统。任何问题欢迎在评论区留言交流!

标签: emby, alist, strm, 302

添加新评论