Skip to content

模式与路径替换说明

本页只说明 Emby 助手和秒传播放的工作模式、路径替换格式和 Open API 影响。STRM 生成任务本身的配置见 STRM 工具分区;这里关注的是 Emby 播放时 NanShare 如何判断“该用哪种播放链路”。

TIP

Emby 助手和秒传播放使用同一套源文件特征来识别模式,但命中后的处理方式不同:Emby 助手直接从源账号或后端获取直链;秒传播放会先定位源文件,再按 Emby 用户配置秒传到目标账号获取直链。

工作模式总览

Emby 播放时,NanShare 会先向 Emby 查询真实源文件路径或 STRM 内容,再根据 URL 参数、路径前缀和页面开关判断工作模式。

模式识别特征Emby 助手秒传播放
本地代理源路径命中“本地代理路径”直接转发回 Emby 原生播放直接转发回 Emby 原生播放
分享模式HTTP URL 同时包含 share_codereceive_codeid用 115 分享接口获取直链用目标 115 账号处理分享文件并获取直链
路径替换模式本地路径,或 HTTP URL 命中路径替换规则按右侧配置名或 HTTP URL 获取直链按右侧源账号定位文件,再秒传到目标账号;HTTP URL 目标会直接 302
Pickcode 模式URL 含 pickcode=,或 /d/{pickcode},或 /play115/{pickcode}/...,或 redirect115 位置参数里能识别 pickcode用 115 pickcode 获取直链用 pickcode 秒传到目标 115 账号
FileId 模式URL 含 fileId=,或 redirect115 位置参数里只有 fileId先把 fileId 转 pickcode,再获取直链先把 fileId 转 pickcode,再秒传到目标 115 账号
123 STRM 模式URL 含 redirect123,并带 size、md5、s3 key flag用页面选择的 123 配置获取直链用目标 123 账号获取直链
ed2k 模式URL 含 ed2k_strm,并带 hashsize 参数用 115 配置离线/取直链用 115 目标账号离线,目录复用目标账号复制/秒传目录
HTTP 回退HTTP/HTTPS URL 未命中以上模式可选,访问后端获取直链,固定缓存 600 秒不支持

执行顺序

后端会先处理本地代理,因为本地代理命中后会直接回到 Emby 原生链路,不再尝试分享、路径或其他模式。

Emby 助手普通播放的主要顺序:

text
本地代理 -> 分享 -> 路径替换 -> Pickcode -> FileId -> 123 STRM -> ed2k -> HTTP 回退

秒传播放的主要顺序:

text
本地代理 -> 分享 -> Pickcode -> FileId -> 路径替换 -> 123 STRM -> ed2k

差异说明:

  • Emby 助手中,路径替换会早于 Pickcode/FileId 执行。
  • 秒传播放中,Pickcode/FileId 会早于路径替换执行。
  • 如果一个 HTTP URL 同时像普通 URL 又命中路径替换规则,会按路径替换处理。
  • 秒传播放失败后不会回退到 Emby 助手普通直链,会直接返回错误。

分享模式

分享模式识别 115 分享 STRM 里的三个参数:

text
share_code
receive_code
id

可识别格式:

text
http://你的IP:8115/api/?share_code=SHARE_CODE&receive_code=RECEIVE_CODE&id=123456
http://你的IP:8115/api/?share_code=SHARE_CODE&receive_code=RECEIVE_CODE&id=123456&name=Movie.mkv
https://你的域名/api/?share_code=abc123&receive_code=abcd&id=987654&name=Episode.S01E01.mkv

Emby 助手行为:

  • 使用页面里“分享模式”选择的 115 Cookie 配置。
  • 支持同播复制,前提是对应 115 配置开启同播复制。
  • 开启 115 Open API 不会影响分享模式,因为分享模式有独立 115 Cookie 账号选择。

秒传播放行为:

  • 分享模式需要 115 Cookie 能力。
  • 目标 115 账号需要开启秒传。
  • 开启 115 Open API 后分享模式会被自动禁用,因为 115 Open API 不支持分享下载接口。

常见用途:

text
115 分享 STRM 生成 -> Emby 扫库 -> Emby 助手分享模式播放
订阅分享追更 -> 生成分享 STRM -> 秒传播放分享模式处理
转存再分享 -> 使用自己的分享链接 -> 分享模式播放

路径替换模式

路径替换用于把 Emby 传来的源路径前缀映射到 NanShare 配置名或 HTTP URL。

格式必须是一行一条:

text
路径前缀 => 配置名称 或 HTTP URL

页面会把每行保存为独立规则。建议 => 前后保留空格,方便阅读和排查。

Emby 助手路径替换

右侧可以填写:

右侧目标行为同播复制
115 配置名剥离左侧路径前缀,剩余部分作为 115 网盘路径获取直链支持
123 配置名剥离左侧路径前缀,剩余部分作为 123 网盘路径获取直链不走 115 同播复制
夸克配置名剥离路径前缀,通过夸克接口获取直链不支持
天翼配置名剥离路径前缀,通过天翼接口获取直链不支持
HTTP/HTTPS URL把左侧前缀替换成右侧 URL,直接 302 到拼接后的地址不支持,固定缓存 600 秒

115 示例:

text
/CloudNAS/CloudDrive/115open => 115一号
/mnt/cd2/115 => 115主账号
/volume2/media/115 => 115备用账号
G:/CloudDrive/115 => 115一号

转换效果:

text
规则:/CloudNAS/CloudDrive/115open => 115一号
Emby 源文件:/CloudNAS/CloudDrive/115open/电影/test.mkv
网盘路径:/电影/test.mkv

123 示例:

text
/CloudNAS/CloudDrive/123云盘 => 123二号
/mnt/cd2/123 => 123主账号
H:/123pan => 123家庭号

转换效果:

text
规则:/mnt/cd2/123 => 123主账号
Emby 源文件:/mnt/cd2/123/剧集/示例剧/Season 1/E01.mkv
网盘路径:/剧集/示例剧/Season 1/E01.mkv

夸克、天翼示例:

text
/CloudNAS/CloudDrive/夸克网盘 => 夸克一号
/CloudNAS/CloudDrive/天翼云盘 => 天翼一号
/mnt/cd2/quark => 夸克影视
/mnt/cd2/cloud189 => 天翼影视

HTTP URL 目标示例:

text
/volume2/cloudnas/天翼云盘 => http://172.17.0.1:8515/d
/media/openlist => http://openlist:5244/d/媒体库
http://10.0.0.194:5678/d => http://10.0.0.194:5244/d/小雅网盘
https://alist.example.com/d/115 => http://openlist:5244/d/115

转换效果:

text
规则:/volume2/cloudnas/天翼云盘 => http://172.17.0.1:8515/d
Emby 源文件:/volume2/cloudnas/天翼云盘/movies/test.mkv
重定向到:http://172.17.0.1:8515/d/movies/test.mkv

规则:http://10.0.0.194:5678/d => http://10.0.0.194:5244/d/小雅网盘
Emby 源文件:http://10.0.0.194:5678/d/movies/test.mkv
重定向到:http://10.0.0.194:5244/d/小雅网盘/movies/test.mkv

秒传播放路径替换

秒传播放的路径替换右侧含义和 Emby 助手不同:右侧填写的是源账号配置名,不是最终播放账号。命中后,NanShare 使用该源账号获取文件信息,再按当前 Emby 用户配置秒传到目标账号。

右侧可以填写:

右侧目标行为
115 配置名源账号为 115,获取源文件 pickcode 后秒传到目标 115 账号
123 配置名源账号为 123,获取文件信息后使用目标 123 账号获取直链
HTTP/HTTPS URL直接把路径前缀替换成 HTTP URL 并 302,跳过秒传逻辑

不支持作为秒传源账号目标:

text
夸克配置名
天翼配置名

115 源账号示例:

text
/CloudNAS/CloudDrive/115资源 => 115源账号A
/mnt/cd2/115share => 115源账号B
G:/115资源 => 115源账号A
https://alist.example.com/d/115 => 115源账号A

123 源账号示例:

text
/CloudNAS/CloudDrive/123云盘 => 123源账号
/mnt/cd2/123资源 => 123源账号
H:/123资源 => 123源账号

HTTP URL 目标示例:

text
http://10.0.0.194:5678/d => http://10.0.0.194:5244/d/小雅网盘
/mnt/direct => http://direct.example.com/d

秒传路径示例:

text
规则:/CloudNAS/CloudDrive/115资源 => 115源账号A
Emby 源文件:/CloudNAS/CloudDrive/115资源/电影/test.mkv
转换后源路径:/电影/test.mkv
处理方式:115源账号A 获取文件信息 -> 当前 Emby 用户绑定的目标账号秒传 -> 获取目标账号直链

路径替换匹配细节

匹配时会做这些处理:

  • Windows 反斜杠会统一成 /,所以规则建议统一写正斜杠。
  • HTTP/HTTPS 源路径会尝试 URL 解码后再匹配。
  • 左侧前缀命中后,NanShare 会剥离左侧前缀,把剩余部分作为网盘路径。
  • 如果右侧是 HTTP/HTTPS URL,不会走网盘接口,而是拼接剩余路径后直接重定向。
  • 如果多个规则都可能命中,建议把更长、更具体的规则写在前面,便于人工排查。

多规则示例:

text
/CloudNAS/CloudDrive/115open/电影/4K => 115-4K
/CloudNAS/CloudDrive/115open/电影 => 115电影
/CloudNAS/CloudDrive/115open/剧集 => 115剧集
/CloudNAS/CloudDrive/115open => 115默认

推荐这样写的原因:

text
更具体路径:/CloudNAS/CloudDrive/115open/电影/4K
更宽泛路径:/CloudNAS/CloudDrive/115open

宽泛规则放在前面时,日志里容易看到命中了默认账号,而不是你原本希望的 4K 专用账号。

Pickcode 模式

Pickcode 模式用于 115 文件。识别方式来自 NanShare 后端和内置 Wiki,支持多种格式。

可识别格式:

text
http://host:8115/api/?redirect115&abchrb6gnrw0hhh80&Movie.mkv
http://host:8115/api/?redirect115&abchrb6gnrw0hhh80&3312677223653037366&a94a8fef8c17b2d69d61f7c5b4b3e3a2c1b2a3c4&Movie.mkv
http://host:8115/api/?pickcode=abchrb6gnrw0hhh80&name=Movie.mkv
http://host:8115/d/abchrb6gnrw0hhh80?/Movie.mkv
http://host:8115/play115/abchrb6gnrw0hhh80/3312677223653037366/a94a8fef8c17b2d69d61f7c5b4b3e3a2c1b2a3c4/1073741824/Movie.mp4

Emby 助手行为:

  • 使用 Pickcode 模式里选择的 115 配置。
  • 可配合 Cookie 或 115 Open API。
  • 支持同播复制,前提是对应 115 配置开启同播复制。

秒传播放行为:

  • 通过 pickcode 定位 115 源文件。
  • 如果配置了源账号,用源账号读取;没有源账号时可用目标账号自身处理。
  • 目标 115 账号需要开启秒传。

FileId 模式

FileId 模式用于只有 115 文件数字 ID 的链接。NanShare 会先把 fileId 转成 pickcode,再继续处理。

可识别格式:

text
http://host:8115/api/?redirect115&3312677223653037366&Movie.mkv
http://host:8115/shareVideoPlayUrl?fileId=3312677223653037366&account=115一号
http://host:8115/videoPlayUrl?fileId=3312677223653037366&account=115一号
fileId=3312677223653037366

注意:

  • 如果同一条 redirect115 链接里同时能识别 pickcode 和 fileId,优先走 Pickcode 模式。
  • FileId 必须能通过所选 115 配置查询到对应 pickcode。
  • Emby 助手和秒传播放都支持 Cookie / Open API 处理 FileId。

123 STRM 模式

123 STRM 模式识别 redirect123

位置参数格式:

text
http://host:8115/api/?redirect123&1073741824&abc123md5hash&s3keyflag&Movie.mkv
http://host:8115/api/?redirect123&1073741824&abc123md5hash&s3keyflag

参数顺序:

text
?redirect123&<size>&<md5>&<s3_key_flag>[&name]

旧命名参数格式也可按 123 解析器兼容:

text
http://host:8115/api/?redirect123&size=1073741824&md5=abc123md5hash&s3_key_flag=s3keyflag&name=Movie.mkv

Emby 助手行为:

  • 需要开启 123 STRM 模式
  • 需要选择一个 123 助手配置。
  • 不使用 115 同播复制。

秒传播放行为:

  • 需要开启 123 STRM 模式
  • 使用当前 Emby 用户绑定的目标 123 账号获取直链。
  • 目标 123 配置需要 Token 可用。

ed2k 模式

ed2k 模式识别工具箱 ed2k STRM 生成的 URL。

可识别格式:

text
http://host:8115/api/ed2k_strm?hash=ABC123&size=123456&name=Movie.mkv
http://host:8115/api/ed2k_strm?hash=ABC123&size=123456

Emby 助手行为:

  • 需要开启 ed2k 模式
  • 需要选择 115 配置。
  • 可配合 Cookie 或 115 Open API。
  • 可参与同播复制,前提是 115 配置开启同播复制。

秒传播放行为:

  • 需要开启 ed2k 模式
  • 使用 115 目标账号离线获取直链。
  • 离线目录复用目标账号复制/秒传目录。

HTTP 回退

HTTP 回退只属于 Emby 助手。源文件是 HTTP/HTTPS,并且没有命中分享、路径替换、Pickcode、FileId、123 STRM、ed2k 时,Emby 助手可以尝试访问后端获取直链。

示例:

text
http://some-service/path/to/file.mkv
https://download.example.com/media/Movie.mkv

特点:

  • 只在 Emby 助手中可用。
  • 秒传播放不支持 HTTP 回退。
  • 固定缓存 600 秒。
  • 不支持同播复制。

如果你要让 HTTP URL 先按路径替换处理,应在路径替换中写 URL 前缀规则:

text
https://alist.example.com/d/115 => 115主账号
https://openlist.example.com/d/media => http://openlist:5244/d/media

本地代理

本地代理不是 STRM 参数模式,而是路径白名单。源文件命中本地代理路径时,NanShare 直接把请求转发给 Emby 原生处理。

Emby 助手和秒传播放页面都有本地代理开关。匹配优先级最高:

text
本地代理 -> 其他所有模式

适合场景:

  • 同一个 Emby 媒体库里既有本地硬盘文件,又有网盘 STRM。
  • 本地文件本来就能由 Emby 直接播放,不想经过 302 或秒传。
  • 某些目录需要跳过预缓存和网盘解析。

配置示例:

text
/mnt/media/local
/volume1/video/local
D:/Movies/Local

匹配示例:

text
本地代理路径:/mnt/media/local
Emby 源文件:/mnt/media/local/Movie.mkv
结果:直接回到 Emby 原生播放

Open API 影响

Emby 助手和秒传播放都支持 115 Open API。开启后,115 获取直链、同播复制、秒传、Pickcode、FileId、115 路径模式会走 Open Token。

场景Cookie 模式Open API 模式
Emby 助手分享模式可用,使用分享模式独立选择的 115 Cookie 账号仍可用,因为分享模式独立使用 Cookie 账号
Emby 助手路径 / Pickcode / FileId可用可用,需要对应 115 配置有 Open Token
Emby 助手同播复制可用可用,需要对应 115 配置开启同播复制
秒传播放路径 / Pickcode / FileId可用可用,源账号和目标账号都需要 Open Token
秒传播放分享模式可用,需要 Cookie不可用,会自动禁用
秒传播放 123 模式不受 115 Open API 影响不受 115 Open API 影响

推荐:

text
Emby 助手:可以开启 115 Open API;分享模式单独选 Cookie 账号。
秒传播放只用路径/Pickcode/FileId:可以开启 115 Open API。
秒传播放需要分享模式:不要开启 115 Open API。
115 Open 模式下路径替换右侧要写 115 助手里的 Open 配置名称。

配置示例

Emby 助手混合播放

text
工作模式:
分享模式:开启,115 配置 = 115分享号
路径替换模式:开启
Pickcode 模式:开启,115 配置 = 115open号
FileId 模式:开启,115 配置 = 115open号
123 STRM 模式:开启,123 配置 = 123主号
ed2k 模式:开启,115 配置 = 115open号
HTTP 回退:按需开启

路径替换:
/mnt/cd2/115 => 115open号
/mnt/cd2/123 => 123主号
/mnt/cd2/quark => 夸克影视
/mnt/cd2/cloud189 => 天翼影视
https://alist.example.com/d/115 => 115open号
http://10.0.0.194:5678/d => http://10.0.0.194:5244/d/小雅网盘

秒传播放按用户分配

text
工作模式:
分享模式:关闭或仅 Cookie 模式使用
路径替换模式:开启
Pickcode 模式:开启
FileId 模式:开启
123 STRM 模式:开启
ed2k 模式:开启

路径替换:
/mnt/cd2/115资源 => 115源账号A
/mnt/cd2/115动画 => 115源账号B
/mnt/cd2/123资源 => 123源账号
https://alist.example.com/d/115 => 115源账号A

Emby 用户账号:
用户A -> 115目标账号A / 123目标账号A
用户B -> 115目标账号B / 123目标账号B

只把 URL 转到自己的后端

text
工作模式:
路径替换模式:开启

路径替换:
https://old.example.com/d => https://new.example.com/d
/mnt/openlist => http://openlist:5244/d/media

这种写法不会走网盘账号,也不会秒传,只是把前缀替换后 302 到目标 URL。

常见问题

路径替换不命中

检查:

  • Emby 实际源文件路径是否和左侧前缀完全一致。
  • Windows 路径是否统一写成 /
  • HTTP URL 是否有 URL 编码,必要时把解码后的中文路径写进规则。
  • => 是否写错,建议使用 路径前缀 => 目标
  • 右侧配置名称是否和 115 / 123 / 夸克 / 天翼助手里的名称完全一致。
  • 更宽泛的规则是否写在更具体规则前面。

秒传播放路径模式找不到源文件

检查:

  • 右侧是否填写源账号配置名,而不是目标账号配置名。
  • 当前 Emby 用户是否配置了目标账号。
  • 目标 115 账号是否开启秒传。
  • 115 Open API 模式下,源账号和目标账号是否都有 Open Token。
  • 转换后的网盘路径是否真实存在,例如 /电影/test.mkv

分享模式在秒传播放里失效

如果秒传播放开启了 115 Open API,分享模式会被禁用。需要分享模式时,使用 Cookie 模式,并确认目标 115 账号开启秒传。

123 STRM 播放失败

检查:

  • 是否开启 123 STRM 模式。
  • 123 助手 Token 是否有效。
  • URL 是否包含 size、md5、s3 key flag。
  • 秒传播放中当前用户是否配置了目标 123 账号。

HTTP URL 被当成路径替换

只要 HTTP URL 命中了路径替换左侧前缀,就会按路径替换处理。如果你想让它走 HTTP 回退,请删除对应路径替换规则,或关闭路径替换模式。

NanShare 文档站仅说明 NanShare 项目的部署、配置与使用。