常见问题
基础与许可
基础版可以使用吗?有什么功能限制?
基础版完全支持 STRM 生成、定时任务运行、存储浏览、基础 Webhook 触发等功能,已经能够满足绝大多数人需求。
Pro 版本主要增加302代理、CD2触发等进阶功能,定价极其合理,从高级功能中获取一定的回报、激励持续开发,更有利于项目的长远发展。
是否支持网盘资源转存?
暂无计划。SmartStrm 的定位是专业高效的 STRM 生成工具。转存需求可以配合 Quark-Auto-Save 或 CloudSaver 使用,不重复造轮子。
存储与 STRM 生成
新存入的文件没有生成?
尝试关闭 "目录时间检查" 选项,这个选项本意是为了减少历遍请求,快速生成。但在某些盘中增修 /aa/bb/cc/ 下的文件,只有目录 cc 的修改时间会更新,aa 和 bb 的修改时间不变,所以不会往下索引。
任务目录能创建多级子目录吗?
不支持。一个任务对应一个生成目录,任务目录不可重叠,这是底层逻辑。推荐创建多个任务(如 夸克1-tv、夸克2-tv、天翼-tv),然后在媒体库中把多个 strm 目录加到同一个库里。
夸克TV 转码直链画质如何?
夸克TV 驱动只有转码模式,走 302 直连,可能会压缩画质。实测 4K 资源转码后码率下降不多,甚至可能给原码;但 1080P 和动漫类资源压缩较明显。SVIP/88VIP 用户获取高质量视频时,仍可能是未压缩的原画资源。
注意:夸克能 302 的直链一定是转码的,STRM 方案只能使用转码链接。夸克网盘驱动则有原画代理(走 NAS 流量)和转码直链两个选项。
OpenList 驱动和 SmartStrm 原生驱动有什么区别?
- OpenList 驱动:生成的是 OpenList 的直链,base_url、sign 都跟随 OpenList,直链解析、302 跳转、签名验证由 OpenList 提供
- SmartStrm 原生驱动(如夸克、天翼):由 SmartStrm 直接解析直链,针对播放场景优化,基础地址和签名跟随 SS 的设置
两者功能上都能正常使用,选择哪种取决于你已有的基础设施。SmartStrm 未直接支持的网盘,可以使用 OpenList 转接。
如何为 PikPak WebDAV 设置代理?
为容器添加环境变量如:
HTTP_PROXY=http://172.17.0.1:10808
HTTPS_PROXY=http://172.17.0.1:10808把 172.17.0.1:10808 替换为你的 http 代理,并且应为黑白名单,而非全局代理。
播放与兼容
提示"没有兼容的流"或"播放失败"?
- 测试链接:用记事本打开对应的
.strm文件,复制里面的地址到浏览器,看能否下载 - 基础地址:检查 "STRM 设置" 中的 "基础地址" 是否设置正确
- 格式兼容:部分 Web 端浏览器不支持的编码(如 H.265)需要使用桌面客户端播放
没有兼容的流、播放没声音、视频偏色?
用 STRM 播放后,数据不经过 Emby 后端,资源完全由播放客户端解码(如果用 Web 端就是浏览器解码),能加载资源但不能播、没有声音、杜比资源偏色,都是浏览器解码能力的问题,可以尝试调用本地播放器,或第三方播放器播放。
支持 .iso 原盘资源吗?
支持 .iso 的 STRM 生成,需要在 系统设置->STRM 设置->媒体文件后缀 中,加入 iso 后缀。
而能否播放取决于播放客户端,使用 STRM 播放后,资源完全交由客户端解码(比如 Web 端肯定不行,因为浏览器无法解码 .iso 格式),已知 SenPlayer, Infuse 可以播放。
支持 BDMV 蓝光原盘文件夹结构吗?
BDMV 是章节化结构(index.bdmv + 多个 m2ts 片段),依赖 playlist(mpls)解析,而 strm 指向单一文件,无法表达多片段结构。建议以下方案:
- 转封装为 MKV(推荐):用 MakeMKV/DVDFab 转成单文件,保留章节信息,再生成 strm
- 打包为 ISO:整个 BDMV 打包成 iso,strm 指向挂载路径(需播放器支持 iso 挂载)
关于起播速度?
一个 .strm 播放需经历三个阶段:
- 直链请求:SmartStrm 从网盘请求直链再做 302 跳转,内部会有若干个网络请求的时间。(使用
文件编号模式可减少至一个网络请求,稍微提高请求速度) - 读取媒体编码(首播):和本地媒体不同,STRM 相当于一个快捷方式。入库时 Emby 不会预读媒体文件规格(4K, HDR, 编码, 大小等),在首次播放时,才从网络请求文件读取媒体规格,再响应客户端播放。(使用302代理并开启
优化 STRM 首播速度可避免此过程耗时) - 客户端缓冲:获取到直链后,客户端需要对视频文件缓冲;这个时间和你的网络、服务器有关,部分网盘还可能会有限速。
入库快,免下载、在线播放,但起播速度会变慢。这是 STRM 的优点,也是不可避免有弊端。使用下来通常在10秒内起播,个人认为可以接受,无须盲目追求起播速度。
优化 STRM 首播和神医的区别?
原理不一样,神医是让媒体在入库的时候全部预读一遍视频编码,这其中就会有大量直链请求。本来用 STRM 就为了最小化请求,这一预读结果全请求了。而 SmartStrm 是在播放的时候让直链先行返回,媒体库后端异步获取视频编码,根据用户的播放行为按需请求。
最终效果一样,都是在用户首次播放的时候,免去 Emby 读取编码的等待环节,直接进入视频缓冲阶段。
优化 STRM 首播效果不明显?
能否命中优化要看播放器行为,简单来说是 浏览过程->缓存到STRM信息->首播时异步返回直链->同时让媒体服务器后台获取 整个过程都是最优的请求,不会暴力缓存和请求直链。
- 如果某些播放器浏览过程没有缓存到(例如爆米花没有单集浏览页),则不会干预
- 如果不是首播(已经有媒体信息),就会等待和沿用跟随媒体服务器的原先的返回
所以在 Jellyfin 里你可能会发现,首播比已经播过的还快,首播的 SS 直接返回直链了,而播过的 Jellyfin 还要等 2s 左右。
飞牛影视自家播放器和第三方播放器起播速度差异大?
飞牛影视有两套协议:
- 飞牛自家播放器:使用直接跳转协议,响应快,点了就播
- 第三方播放器(SenPlayer、VidHub 等):使用飞牛的 Emby 兼容接口(基于开源旧版遗留),响应较慢
最终都是走直链,速度差异源于接口处理逻辑不同,而非链接问题。
媒体库与 302 代理
302 代理和异地下载的矛盾?
302 代理的核心是让客户端直接从网盘获取资源,即异地下载。播放时 SmartStrm 代理返回 302 重定向,播放器直接连接网盘下载,数据不经过你的 NAS。从原理上就无法避免异地流量,除非放弃 302 走 NAS 中转(但那样就没有使用 302 代理的意义了)。
如何多开 302 代理?
使用场景:同时代理 Emby 和飞牛影视。
多开个 Docker 容器即可,各代理不同媒体库,主副容器 /config /logs 隔离、/strm 目录共享。副容器不配置存储和任务,只做 302 代理用。
能否支持 Jellyfin 的删除同步?
Jellyfin 的通知中缺少一些关键信息,导致无法得知要删除的路径,所以没办法支持。