目录StrmTool 设置
  1. 开始使用

    1. Kryspal Media 是什么
    2. 系统需求
    3. 用 Docker 安装
    4. 初次设置
    5. 升级与备份
  2. 媒体库

    1. 创建与管理媒体库
    2. 文件与文件夹命名
    3. 放文件很自由
    4. 元数据与 NFO
    5. 标签
    6. 图片
    7. strm 与网盘
    8. StrmTool 设置
    9. 字幕
    10. 片头片尾
    11. 搜索技巧
    12. 演员
    13. 重复影片
  3. 播放

    1. 网页观影端
    2. 第三方播放器
    3. 远程访问
  4. 成员与设备

    1. 成员
    2. 家长控制
    3. 设备与同时播放
  5. 插件

    1. 插件中心
    2. 插件一览
    3. 第三方插件
  6. 从其他服务器迁移

    1. 从 Emby 迁移
    2. 从 Jellyfin 迁移
  7. 授权与方案

    1. 方案比较
    2. PRO 功能详解
    3. MAX 功能详解
    4. 购买、启用与更换服务器
    5. 离线宽限与到期
  8. 疑难排解

    1. 日志与回报问题

StrmTool 设置 PRO · MAX

StrmTool 是处理 .strm 文件的内置扩展:决定每个视频怎样送到播放器,保存直链,并提前读取媒体信息。这一页逐项说明每个设置,并给出建议值。怎么写 .strm 文件和基本概念,请先读strm 与网盘。

本页内容
  1. 打开它
  2. 设置项
  3. 本地路径与网址
  4. 局域网与外网
  5. 后台读取
  6. 常见问题

打开它#

打开「插件」,在「内置功能」下找到 StrmTool,打开并进入它的设置。它需要 PRO。没有授权时扩展会停止,状态显示「需要授权」;你的设置会保留,授权恢复后立即生效。这段时间 .strm 文件仍可播放,一律由服务器转发。

设置项#

设置 作用 建议
默认交付方式 没有自己选择的媒体库,视频怎样送到播放器。由服务器代理:服务器取到文件再转给播放器。重定向播放器:播放器直接从链接取流,所以必须连得上这个链接。局域网内重定向、外网代理:在家直连,出门由服务器转发。 拿不准就保持代理。家里上行带宽小、而且局域网能连到网盘时,用局域网内重定向、外网代理。
地址改写规则 每行一条,前缀 => 替换。第一条与地址开头匹配的规则会在使用地址之前生效,例如把内网主机名换成公网的。以 # 开头的行是注释。只用第一条匹配的,而且是纯文本匹配,不是正则。只对地址生效,对本地路径无效。 留空。重定向指向了外网播放器连不上的内网地址时,再加规则。
发给远端的 User-Agent 只在服务器自己连接时发送,并且只发给该地址所在的主机。留空使用服务器默认值。重定向时由播放器自己连接,所以不会用到;取直链的那次查询用的是播放器自己的 User-Agent。 留空,除非网盘拒绝默认值。
发给远端的 Cookie 条件同 User-Agent,重定向播放器时也不会发送。加密保存,保存后不再显示。 留空,除非网盘需要登录 Cookie。这类来源请用转发,不要用重定向。
直链缓存 向网盘取一次直链,并复用约三分钟(链接自己说更早过期则更短):起播更快,对网盘的请求更少。只在重定向播放器时使用。改了改写规则,旧的缓存会自己失效。 开启。如果外网播放被拒绝(403),就关掉。
播放时预读下一集 一集开始播放时,在后台读取下一集的媒体信息。对「读取媒体信息」不是「播放时」的媒体库有效。 开启。
打开详情时补读 打开一个条目、而它的视频信息还没有时,在后台读取。只读取还没读过的来源,并且只对「读取媒体信息」不是「播放时」的媒体库有效。 默认关闭。如果打开条目后第一次播放很慢,就打开。
提前读取媒体信息 提前读取远程链接的视频信息:扫描之后、后台、下一集、打开详情时,让第一次播放起播更快。关闭后只有本地路径的文件会提前读取;第一次播放仍然会当场读。 开启。
把结果保存为文件 把每次的结果存成数据目录里的小文件,条目被移除再加回来、或数据库重建后可以复用。「媒体信息缓存」插件保存得更多(音轨、章节、片头片尾标记),并在扫描前还原;两个可以同时开,代价是一点磁盘。 开启。想在重建后保留片头片尾标记,再加上媒体信息缓存。

每个媒体库可以在自己的设置里,通过「STRM 播放方式」选自己的交付方式:跟随默认、服务器转发、直链或局域网直链、外网转发。修改在下一次交付视频时生效。

本地路径与网址#

  • 本地路径(.strm 里是以 / 开头的路径):一律由服务器转发,只能读取管理员允许的文件夹。改写规则和重定向都不适用。
  • 网址(http:// 或 https://):先套用改写规则,再按交付方式转发或重定向。

局域网与外网#

选「局域网内重定向、外网代理」时,服务器按每条连接判断。从内网地址连到 5797 端口的,算局域网,拿到直链。从外网访问端口 5798 进来的,或来自公网地址的,由服务器转发。服务器分不清时,也转发。重定向要求播放器连得到这个地址,所以内网地址要用改写规则换掉。如果前面有反向代理,请设置可信代理,才能判断对,见远程访问。

只有播放会被重定向。网页播放器的串流、读取媒体信息、投屏和需要重新封装的播放,一律经过服务器。

后台读取#

新条目(7 天内加入的)优先读取;更早的未读条目不会自动排队。定时任务「读取尚未读取的媒体信息」每晚 02:00 到 05:00 处理这批积压,你也可以手动启动。播放一个条目或打开它的页面,会把它排到队伍前面。网盘返回 403 或 429 时,该媒体库的读取会暂停一段时间。

StrmTool 页面会显示运行情况:读取成功、读取失败、正在读取、直链缓存命中、直链缓存未命中、退回直接跳转。计数在服务器启动时从零开始。

常见问题#

  • 外网播放返回 403。 网盘可能把链接绑定了播放器的地址。关掉「直链缓存」,或让这个媒体库改用转发。
  • 播放器连不上重定向地址。 地址指向了内网主机。加一条改写规则,或改用转发。
  • 读取失败,提示「链接已失效(404)」。 检查 .strm 文件里的链接,并确认文件还在网盘里。
  • 读取失败,提示「链接返回的内容不是视频」。 用浏览器打开这个链接,看它返回什么。
  • 提示「远程来源无法连接」,而且地址用了自定义主机名(例如 nas.lan:5678)。在 NAS 本机的 /etc/hosts 里加的映射,对 Docker 容器不生效:容器有自己的域名解析,可能把这个名字解析成 127.0.0.1,也就是容器自己。请在 compose.yaml 的 server 服务下,用这台机器在局域网里的地址(这里是 192.168.1.10)给容器加上这个名字:

yaml server: extra_hosts: - "nas.lan:192.168.1.10"

然后运行 docker compose up -d。验证方法:运行 docker exec <容器名> getent hosts nas.lan,应该输出这个地址。除了 extra_hosts,也可以用地址改写规则把主机名换成地址:http://nas.lan:5678/ => http://192.168.1.10:5678/。 - 第一次播放很慢。 打开「提前读取媒体信息」,把媒体库的「读取媒体信息」设为「后台」或「扫描时」,并让每晚的任务处理完积压。

另见strm 与网盘中的媒体信息缓存,以及 PRO 功能。