Openlist做中转,利用strm挂载115网盘并接入emby

文章转自:纯小白也能实现的emby+Openlist+strm+302

相关Github项目:

利用 Openlist 作为媒体文件的“索引者”和“指路人”。Openlist 能够接入并管理多种支持302重定向的网盘或对象存储服务。当 Emby 需要播放一个媒体文件时,它实际上是读取一个本地的 .strm​ 文件。这个 .strm​ 文件并不包含媒体数据本身,而是包含一个指向 Openlist 的特定路径URL。

当 Emby 访问这个 Openlist URL 时,Openlist 会智能地返回一个302重定向指令,将 Emby 的播放请求直接导向存储在云端网盘上的原始媒体文件地址。这样一来,Emby 便可以直接从源头(即你的网盘)串流播放媒体内容,全程无需文件在本地服务器作实际中转或完整下载。

核心特点与优势拓展

  1. 轻量化部署与低资源占用

    • 由于不再需要 cd2​ 或 rclone​ 进行复杂的挂载操作,服务器端的配置更为简洁,CPU和内存资源的占用也显著降低。
    • 避免了因挂载工具不稳定或API限制可能引发的各种问题。
  2. 无需本地磁盘空间

    • 媒体文件直接存储于云端,服务器本地仅需存储 .strm​ 代理文件(体积极小)和 Emby 的元数据。这对于存储空间有限的服务器或NAS设备尤为友好。
  3. 提升流媒体效率与直接性

    • 通过302重定向,Emby 直接与最终的媒体文件URL进行通信,减少了数据传输的中间环节,理论上可以带来更直接、更快速的流媒体播放体验。
  4. 广泛的网盘兼容性

    • “理论上支持302的网盘都能用这个方法”。Openlist 本身支持众多主流和非主流的云存储服务。只要这些服务允许通过API或其他方式获取到文件的直接链接,并且 Openlist 能够配置生成指向这些直链的302重定向,那么这套方案就具备可行性
  5. 简化维护

    • 减少了需要维护的组件(如挂载工具),使得整个系统的维护成本和出错几率有所下降。

实现流程概述

  • Openlist 配置:这就不说了,一键轻松搞定
  • .strm 文件生成:为网盘中的每一个影音文件,在 Emby 的媒体库对应位置创建一个 .strm​ 文件。该文件的内容即为指向 Openlist 中对应文件路径的URL(例如 http://<alist_ip>:<alist_port>/dav/<网盘路径>/<文件名>​ 或 Openlist 提供的其他直接访问链接格式,最终由 Openlist 处理并302重定向到真实文件链接)。这里我们通过autofilm来实现,因为原作者的仓库的版本对于Openlist最新版好像除了一些bug,然后我翻阅issues找到了解决办法,所以重新制作了一个docker镜像
  • Emby 媒体库设置:在 Emby 中添加媒体库,并将媒体库的文件夹路径指向存放 .strm​ 文件的本地目录。Emby 会扫描这些 .strm​ 文件,并通过文件名刮削获取元数据,将其识别为可播放的媒体。
  • Emby 302设置: 这里我们通过同一作者的另一个项目mediawarp实现,由于对于最新版的emby支持不太好,同样翻阅issues重做了镜像
  • 播放体验:用户在 Emby 客户端选择播放影片时,Emby 读取 .strm​ 文件中的 Openlist URL,请求该URL,Openlist 返回302重定向到网盘文件的真实URL,Emby 最终从该真实URL加载并播放视频流。

第一步:创建挂载目录和设置权限

为了确保我们的媒体套件能够正常运行,第一步是创建一些必要的目录,这些目录将用于挂载到 Docker 镜像中

创建目录

我们需要为 Emby 的配置、STRM 文件(电影和剧集)以及 AutoFilm和MwdiaWarp 的配置创建相应的目录。请执行以下命令:

sudo mkdir -p /opt/media_suite/emby/config
sudo mkdir -p /opt/media_suite/strm_files/movies # 存放电影 STRM 文件
sudo mkdir -p /opt/media_suite/strm_files/tvshows # 存放剧集 STRM 文件
sudo mkdir -p /opt/media_suite/autofilm/config # AutoFilm 需要配置文件
sudo mkdir -p /opt/media_suite/mediawarp/config # mediawarp 需要配置文件
接下来,我们需要为这些新创建的目录设置合适的权限,以确保后续运行容器的用户(或其 PUID/PGID)拥有读写这些目录的权限。
# 例如,设置 PUID=1000, PGID=1000 (请根据您的系统用户实际情况调整)
sudo chown -R 1000:1000 /opt/media_suite
root用户可以忽略了

openlist挂载115网盘到目录

参考:115 开放平台 | OpenList 文档

115网盘里刮削推荐命名规范

电视剧、动漫、综艺:使用“剧名/季/集”的形式。例如:

  • 白砂的水族馆/Season 1/S1E01.mp4

复杂命名

  • 电影:以完整名字开头,后面加上相关信息。如果有同名电影,务必加上发行日期。

    • 例如:The.Irishman.爱尔兰人.2019.1080p.x264.mp4
  • 电视剧:分集文件名以剧名开头,后面跟上季和集的信息。

    • 例如:Shameless.无耻之徒.S01E01.1080p.AMZN.WEB-DL.mkv
  • 花絮、特别篇:季数设为0,指定集数。

    • 例如:Shameless.无耻之徒.S00E01.SneakPeek.1080p.AMZN.mkv

第二步:创建 Docker Compose 配置文件

接下来,我们将创建一个 docker-compose.yml​ 文件来定义和管理我们的媒体服务,包括 Emby、MediaWarp 和 AutoFilm。通过 Docker Compose,我们可以方便地一次性启动、停止和管理这些相互关联的容器。

重要提示: 以下配置将 Emby、MediaWarp 和 AutoFilm 整合在同一个 docker-compose.yml​ 文件中,假定它们运行在同一台服务器上。如果你计划将这些服务部署在不同的机器上,你需要为它们分别创建独立的配置文件或调整网络设置。

创建 docker-compose.yml​ 文件

在之前创建的 /opt/media_suite/​ 目录下,创建一个名为 docker-compose.yml​ 的文件,并将以下内容复制进去:

路径:/opt/media_suite/docker-compose.yml


services:
  mediawarp:
    image: naxbr/mediawarp:latest # 这里是我修改过后的镜像,也可以用没修改的,就在上面原作者的仓库
    container_name: mediawarp
    restart: unless-stopped
    ports:
      - "8080:8080" # 将宿主机的 8080 端口映射到 MediaWarp 容器的 8080 端口 (避免和常用端口冲突,可以自己改)
    volumes:
      - /opt/media_suite/mediawarp/config:/config # MediaWarp 配置文件持久化,挂载目录,根据你前面创建的来
    networks:
      - media_network # 使用自定义网络确保容器间通信
    # (可选) 如果 akimio/mediawarp 支持 PUID/PGID, 建议添加以确保权限一致性
    # environment:
    #   - PUID=1000 # !!! 修改为你宿主机的用户 ID
    #   - PGID=1000 # !!! 修改为你宿主机的组 ID
    #   - TZ=Asia/Shanghai # !!! 修改为你的时区

  emby:
    image: amilys/embyserver:4.9.0.46 # 使用官方 Emby 镜像或者开心版
    container_name: emby
    restart: unless-stopped
    ports:
      - "8096:8096" # Emby Web UI (HTTP)
      - "8920:8920" # Emby Web UI (HTTPS, 如果启用)
      # - "1900:1900/udp" # DLNA 服务发现 (可选)
      # - "7359:7359/udp" # Emby 设备发现 (可选)
    environment:
      - PUID=0 # !!! 警告:使用 root 权限 (PUID=0, PGID=0) 运行容器。请务必修改为你宿主机上用于管理媒体文件的非 root 用户的 ID (通常为 1000)。用 `id -u &lt;username&gt;` 和 `id -g &lt;username&gt;` 命令查看。
      - PGID=0 # !!! 警告:同上,修改为对应的组 ID。
      - TZ=Asia/Shanghai # !!! 修改为你的时区,例如 "Asia/Shanghai" 或 "America/New_York"
    volumes:
      - /opt/media_suite/emby/config:/config # Emby 配置文件持久化
      # --- 关键:挂载存放 STRM 文件的宿主机目录 ---
      - /opt/media_suite/strm_files/movies:/strm_media/movies # 将宿主机的电影 STRM 目录映射到容器内的 /strm_media/movies
      - /opt/media_suite/strm_files/tvshows:/strm_media/tvshows # 将宿主机的剧集 STRM 目录映射到容器内的 /strm_media/tvshows
      # - /path/to/your/actual_media/movies:/data/movies # (可选) 如果 Emby 也直接管理原始媒体文件,可以挂载实际媒体库
      # - /path/to/your/actual_media/tvshows:/data/tvshows # (可选) 同上
      # - /path/to/your/transcode/folder:/transcode # (可选) 独立挂载转码目录,可提高性能或管理空间
    # (可选) 如果你有 Intel GPU 并想用 QSV 硬解,请取消以下注释并确保驱动已正确安装:
    # devices:
    #   - /dev/dri:/dev/dri
    networks:
      - media_network

  autofilm:
    image: naxbr/autofilm:1.3.2 # 这里用的我修改过后的镜像
    container_name: autofilm
    restart: unless-stopped
    environment:
      - TZ=Asia/Shanghai # !!! 设置为你的时区
      # !!! 关键:确保 AutoFilm 使用与 Emby 相同的 PUID/PGID !!!
      # 这确保 AutoFilm 创建的 STRM 文件具有正确的权限,以便 Emby 可以读取它们。
      # 如果 akimio/autofilm 镜像支持 PUID/PGID 环境变量,请务必设置。
      # 否则,您可能需要调整 AutoFilm 容器内的权限或 strm_files 目录的宿主机权限。
      - PUID=0 # !!! 警告:同 Emby 配置,请修改为非 root 用户的 PUID。
      - PGID=0 # !!! 警告:同 Emby 配置,请修改为非 root 用户的 PGID。
    volumes:
      # 挂载配置文件目录
      - /opt/media_suite/autofilm/config:/config
      # 挂载 STRM 输出目录 (必须与 Emby 挂载的宿主机 STRM 目录 /opt/media_suite/strm_files 对应)
      # AutoFilm 将在此处生成 .strm 文件,Emby 将从这里读取它们。
      - /opt/media_suite/strm_files:/media # AutoFilm 容器内访问 STRM 文件的路径
      # (可选) 挂载日志目录
      - /opt/media_suite/autofilm/logs:/logs
    networks:
      - media_network # 加入同一个网络,以便与 MediaWarp (如果需要) 和 Emby 通信

networks:
  media_network:

第三步:配置 MediaWarp

MediaWarp 是一个反向代理和媒体处理工具,它可以与 Emby(或 Jellyfin)配合使用,以实现诸如 STRM 文件重定向、前端美化等功能。现在我们将创建 MediaWarp 的配置文件。

创建 config.yml​ 文件

在你之前为 MediaWarp 创建的配置目录下,创建一个名为 config.yml​ 的文件,并将以下内容复制进去:

路径:/opt/media_suite/mediawarp/config/config.yml

# /opt/media_suite/mediawarp/config/config.yml
Port: 8080                                  # MediaWarp 自身监听的端口 (在 Docker Compose 中已映射到宿主机的 12587 端口)

MediaServer:                                # 媒体服务器相关设置
  Type: Emby                                # 媒体服务器类型,此处为 Emby (可选:Emby, Jellyfin)
  ADDR: http://emby:8096                    # 媒体服务器地址。注意:这里使用的是 Docker 网络内部的服务名 "emby" 和其容器端口 "8096"你得都布置在同一台服务器才能这么填。
  AUTH: xxxxxxxxxxxxxxx # 媒体服务器的 API Key。!!! 请务必替换为您 Emby 服务器的有效 API Key !!!

Logger:                                     # 日志设定
  AccessLogger:                             # 访问日志设定
    Console: True                           # 是否将访问日志输出到终端中
    File: False                             # 是否将访问日志记录到文件中 (可按需开启)
  ServiceLogger:                            # 服务日志设定
    Console: True                           # 是否将服务日志输出到终端中
    File: True                              # 是否将服务日志记录到文件中 (建议开启,方便排错)
    Level: DEBUG                            # 日志级别,DEBUG 提供最详细信息,适合排错阶段。生产环境可考虑 INFO 或 WARN。

Web:                                        # Web 页面修改相关设置
  Enable: True                              # 是否启用 Web 页面修改功能 (总开关)
  Custom: True                              # 是否加载自定义静态资源 (通常用于加载 JS/CSS 脚本)
  Index: False                              # 是否从 custom 目录读取 index.html 文件 (如果 True,会替换 Emby 的主页,记得填否,我就倒这很久.....)
  Head: |                                   # 在 Emby 页面的 &lt;head&gt; 标签内插入自定义 HTML/JS/CSS
    &lt;script src="/MediaWarp/custom/emby-front-end-mod/actor-plus.js"&gt;&lt;/script&gt;
    &lt;script src="/MediaWarp/custom/emby-front-end-mod/emby-swiper.js"&gt;&lt;/script&gt;
    &lt;script src="/MediaWarp/custom/emby-front-end-mod/emby-tab.js"&gt;&lt;/script&gt;
    &lt;script src="/MediaWarp/custom/emby-front-end-mod/fanart-show.js"&gt;&lt;/script&gt;
    &lt;script src="/MediaWarp/custom/emby-front-end-mod/playbackRate.js"&gt;&lt;/script&gt;
    # 注意:以上脚本需要自行准备并放置到 MediaWarp 容器内 /app/custom/emby-front-end-mod/ 目录下
    # 或者通过 Docker Volume 挂载到 MediaWarp 容器的相应位置。
    # 例如,在 docker-compose.yml 中为 mediawarp 服务添加 volumes:
    # - /path/to/your/emby-front-end-mod:/app/custom/emby-front-end-mod

  Crx: True                                 # 是否启用 CRX 美化相关功能,这个好像不起作用,建议用开心版自带美化,在ext.sh里面填入媒体库id就行了
  ActorPlus: True                           # 过滤没有头像的演员和制作人员 (需要对应 JS 支持)
  FanartShow: False                         # 是否在详情页显示同人图 (Fanart) (需要对应 JS 支持)
  ExternalPlayerUrl: True                   # 是否为 Emby 开启外置播放器链接功能 (例如调用 PotPlayer, VLC 等)
  Danmaku: True                             # 是否启用 Web 端弹幕功能 (需要弹幕源和前端支持)
  VideoTogether: True                       # 是否启用共同观影功能 (需要相应服务或脚本支持)

ClientFilter:                               # 客户端过滤器 (用于控制哪些客户端的请求会被 MediaWarp 处理)
  Enable: False                             # 当前设置为 False,表示禁用过滤器,所有客户端请求都会经过 MediaWarp
  Mode: BlackList                           # 如果启用,模式可以是 BlackList (黑名单) 或 WhiteList (白名单)
  ClientList:                               # 名单列表 (仅在 Enable: True 时生效)
    - Fileball
    - Infuse
    # 当 Mode 为 BlackList 时,列表中的客户端请求将被忽略 (不通过 MediaWarp 处理)
    # 当 Mode 为 WhiteList 时,只有列表中的客户端请求会被处理

HTTPStrm:                                   # HTTP STRM 文件处理相关配置
  Enable: True                              # **关键:必须开启此功能,MediaWarp 才能处理 .strm 文件中的 HTTP 链接**
  TransCode: False                          # **关键:设置为 False。这会强制 Emby 认为 STRM 指向的是直接播放链接,从而避免不必要的转码请求。**
                                            # MediaWarp 会将 STRM 文件内容中的 URL 返回给客户端播放。
  PrefixList:                               # Emby 服务器中 STRM 文件所在的媒体库路径前缀。
                                            # !!! 这些路径必须与 Emby 容器内看到的路径完全一致 !!!
                                            # (即 Docker Compose 文件中为 Emby 服务 volumes 部分挂载的 STRM 目录的容器内路径)
    - /strm_media/movies                    # 处理位于 Emby 容器内 /strm_media/movies/ 目录下的 STRM 文件
    - /strm_media/tvshows                   # 处理位于 Emby 容器内 /strm_media/tvshows/ 目录下的 STRM 文件
    # 示例:
    # 如果你的 Docker Compose 中 Emby 的 volumes 是:
    #   - /opt/media_suite/strm_files/movies:/media/strm_movies
    # 那么这里的 PrefixList 就应该是:
    #   - /media/strm_movies
    #
    # 如果 AutoFilm 生成的 .strm 文件在 Emby 中位于不同的媒体库路径下,也需要在这里添加对应的前缀。
    # 例如,如果 AutoFilm 将 STRM 文件输出到宿主机的 `/opt/media_suite/strm_files/anime`
    # 并且您在 Emby 中添加了一个媒体库,其文件夹指向容器内的 `/strm_media/anime`
    # (通过 volumes: - /opt/media_suite/strm_files/anime:/strm_media/anime)
    # 那么这里就需要添加:
    #   - /strm_media/anime

# --- AlistStrm 模块已禁用 ---
AlistStrm:                                  # Alist STRM 文件处理相关配置 (用于处理指向 Alist 存储的 STRM 文件)
  Enable: False                             # **已设置为 False,表示禁用 AlistStrm 模块。如果您的 STRM 文件内容是普通 HTTP(S) URL,则不需要此模块。**
  TransCode: False                          # (此设置在 Enable: False 时无效)
  RawURL: False                             # (此设置在 Enable: False 时无效)
  List:                                     # (此部分在 Enable: False 时无效)
    - ADDR: alist地址
      Token:  alsit的token
      PrefixList:
        - /strm_media/movies
        - /strm_media/tvshows

Subtitle:                                   # 字幕相关设置 (主要针对 Emby)
  Enable: True                              # 是否启用字幕处理功能
  SRT2ASS: True                             # 是否将 SRT 字幕动态转换为 ASS 字幕 (ASS 格式支持更丰富的样式)
  ASSStyle:                                 # SRT 转换为 ASS 时使用的默认样式定义
    # 格式: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
    - "Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding"
    - "Style: Default,楷体,20,&amp;H03FFFFFF,&amp;H00FFFFFF,&amp;H00000000,&amp;H02000000,-1,0,0,0,100,100,0,0,1,1,0,2,10,10,10,1"
    # 可以根据需要修改字体、大小、颜色等样式。

第四步:配置 AutoFilm

AutoFilm 是一个工具,它可以扫描你的 Openlist(或其他支持的源),并根据其中的媒体文件自动生成 .strm​ 文件。这些 .strm​ 文件随后可以被 Emby(通过 MediaWarp)识别和播放。

创建 config.yaml​ 文件

在之前为 AutoFilm 创建的配置目录下,创建一个名为 config.yaml​ (或者 config.yml​,两者皆可) 的文件,并将以下内容复制进去:

路径:/opt/media_suite/autofilm/config/config.yaml

Settings:
  DEV: False # 是否启用开发者模式,通常保持 False

Alist2StrmList: # 定义从 Alist 生成 STRM 文件的任务列表
  # --- 任务 1: 处理电影 ---
  - id: Movies_Scan                  # 任务的唯一标识符,自定义
    cron: "0 0 7 * *"                 # 内部 cron 表达式:每天早上 7:00 执行。因为启动容器的时候不会直接执行strm文件生成,会等到了时间再执行,所以你可以先设置一个短一点的时间,测试是否正常生成
                                      # AutoFilm 将使用其内置的调度器。
    url: "http://1.1.1.1:5244"  # !!! 关键:替换为您的 Alist 服务地址 !!!
    # username: admin                # 如果您的 Alist 使用用户名/密码认证,请取消注释并填写
    # password: adminadmin           # 如果您的 Alist 使用用户名/密码认证,请取消注释并填写
    token: "xxxxxxxxxxxxxxxxxxx" # !!! 关键:替换为您的 Alist API Token !!! (如果使用 Token 认证)
    source_dir: "/Thunderx/TV"        # !!! 关键:您在 Alist 中实际存放电影文件的路径 !!!
    target_dir: "/media/movies"       # *** 容器内 STRM 文件输出路径 -&gt; /media/movies ***
                                      # 对应宿主机的 /opt/media_suite/strm_files/movies。
    flatten_mode: False               # 通常为 False 以保留电影文件夹结构。
    subtitle: False                   # 是否尝试从 Alist 下载字幕文件
    image: False                      # 是否尝试从 Alist 下载图片文件
    nfo: False                        # 是否尝试从 Alist 下载 .nfo 元数据文件
    mode: "AlistURL"                  # *** 核心设置:STRM 文件内容将是 Alist 的直接访问 URL (不含 /d/ 路径) ***
                                      # 例如:http://alist_url/path/to/file.mkv (可能需要 Alist 端配置支持直接访问或签名)
                                      # MediaWarp 可能仍需处理这些 URL 以确保播放兼容性。
    overwrite: False                  # 是否覆盖已存在的 .strm 文件。
    sync_server: True                 # 是否同步服务器:如果 Alist 中的源文件被删除,则自动删除对应的 .strm 文件。
    # sync_ignore: '\.(nfo|jpg)$'     # sync_server 时忽略的文件类型 (正则表达式)
    # other_ext:                      # 定义除了视频文件外,还希望为其创建 .strm 文件的其他文件后缀名
    max_workers: 50                   # 处理 Alist 目录列表时的最大并发数
    max_downloaders: 5                # 下载文件(如字幕、图片,如果开启)时的最大并发数。
    wait_time: 0                      # 每次扫描任务完成后等待的时间(秒)。

  # --- 任务 2: 处理剧集 ---
  - id: TVShows_Scan                 # 任务的唯一标识符,自定义
    cron: "0 20 * * *"               # 内部 cron 表达式:每天晚上 20:00 执行。
    url: "http://1.1.1.1:5244"  # !!! 关键:替换为您的 Alist 服务地址 (与电影任务使用相同的 Alist 实例) !!!
    # username: admin
    # password: adminadmin
    token: "xxxxxxxxxxxxxxxxxxx" # !!! 关键:替换为您的 Alist API Token (与电影任务使用相同的 Token) !!!
    source_dir: "/tianyi/tvshows"     # !!! 关键:您在 Alist 中实际存放剧集文件的路径 !!!
    target_dir: "/media/tvshows"      # *** 容器内 STRM 文件输出路径 -&gt; /media/tvshows ***
                                      # 对应宿主机的 /opt/media_suite/strm_files/tvshows
    flatten_mode: False               # 对于剧集,通常设置为 False 以保留季和集的目录结构
    subtitle: False
    image: False
    nfo: False
    mode: "AlistURL"                  # *** 核心设置:模式为 "AlistURL" ***
                                      # 可选项:AlistURL, RawURL, AlistPath
                                      # AlistPath: 如先前解释,是 /d/ API 下载链接。
                                      # AlistURL: 直接的 Alist 资源 URL。
                                      # RawURL: 如果 Alist 挂载的存储支持完全原始的、无需 Alist 中转的直链。
    overwrite: False
    sync_server: True
    # sync_ignore:
    # other_ext:
    max_workers: 50
    max_downloaders: 5
    wait_time: 0

logger: # 新增日志配置部分
  level: "debug"                    # 日志级别。 "debug" 提供详细信息,适合排错。可选:"info", "warn", "error"。
  file: "/logs/autofilm.log"        # 日志文件在容器内的路径。
                                    # 在 Docker Compose 中,我们将宿主机的 /opt/media_suite/autofilm/logs 挂载到了容器的 /logs。
                                    # 因此,日志文件将保存在宿主机的 /opt/media_suite/autofilm/logs/autofilm.log。
                                    # 也可以使用日期格式,例如: "/logs/%Y-%m-%d.log" 来按天分割日志。


# Ani2AlistList: # 如果您不需要 "Ani2Alist" (例如从动漫花园同步到 Alist) 的功能,你需要的话去翻翻原作者的示例配置文件
#  - id: 新番追更
#    # ... Ani2AlistList 的具体配置 ...

第五步:启动和管理容器

现在所有的配置文件都已准备就绪,我们可以启动 Docker 容器了。

进入工作目录

首先,确保您在包含 docker-compose.yml​ 文件的目录中。根据我们之前的步骤,这个目录是 /opt/media_suite​。

cd /opt/media_suite

sudo docker compose up -d

最后贴一点我用的多的指令

停止容器         docker compose down
查看autofilm日志   docker compose logs autofilm
查看emby日志      docker exec Emby tail -n 100 /config/logs/embyserver.txt
单独重启autofilm   docker compose restart autofilm

最后修改:2025 年 07 月 16 日
如果觉得我的文章对你有用,请随意赞赏