mirror of
https://github.com/Silent1566/webhtv.git
synced 2026-10-13 18:27:10 +00:00
Verification: 12 module integration docs expanded; total 1164 lines; indexes and relative links validated; no empty docs; root README entry present Task-Guard: integration-docs-20260921
3.2 KiB
3.2 KiB
播放结果与播放器接入
Spider playerContent、HTTP API 播放和解析器最终都会得到 Result 播放结果。
输入
| Spider 方法 | 参数 | 说明 |
|---|---|---|
playerContent |
flag |
详情结果中的线路名 |
playerContent |
id |
选集播放 ID 或原始地址 |
playerContent |
vipFlags |
需要解析的 flag 列表 |
播放结果字段
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
parse |
number | 0 |
1 强制解析 WebView |
jx |
number | 0 |
1 等同需要解析 |
url |
string/array/object | "" |
播放地址,结构见下文 |
playUrl |
string | "" |
播放前缀或 json:、parse: 指令 |
header |
object | {} |
播放请求 header;Cookie 会进入 CookieStore |
format |
string | "" |
媒体 MIME/格式 |
subs |
array | [] |
字幕列表,见 字幕接入 |
danmaku |
array | [] |
弹幕列表,见 弹幕接入 |
drm |
object/null | null |
DRM 配置 |
position |
number | 0 |
起播位置毫秒 |
artwork |
string | "" |
播放器封面 |
flag |
string | "" |
线路名;为空时用调用传入 flag |
click |
string | "" |
WebView 点击脚本 |
msg |
string | "" |
Toast;仅 code 为空或 0 时显示 |
code |
number | 0 |
状态码 |
jxFrom |
string | "" |
解析来源 |
desc |
string | "" |
播放描述 |
URL 结构
{ "url": "https://example.com/video.m3u8" }
数组按 [显示名1, 地址1, 显示名2, 地址2] 解析:
{ "url": ["标清", "https://example.com/sd.m3u8", "高清", "https://example.com/hd.m3u8"] }
对象支持多地址和默认选中位置:
{
"url": {
"values": [
{ "n": "高清", "v": "https://example.com/hd.m3u8" },
{ "n": "标清", "v": "https://example.com/sd.m3u8" }
],
"position": 0
}
}
DRM
| 字段 | 类型 | 说明 |
|---|---|---|
key |
string | License URL 或 ClearKey JSON |
type |
string | widevine、playready、clearkey 分别映射对应 UUID |
forceKey |
boolean | 是否强制默认 license URL |
header |
object | license 请求 header |
直链示例
{
"parse": 0,
"jx": 0,
"url": "https://example.com/video.m3u8",
"header": { "User-Agent": "Mozilla/5.0", "Referer": "https://example.com/" },
"format": "application/x-mpegURL"
}
解析示例
{
"parse": 1,
"jx": 0,
"playUrl": "parse:演示解析",
"url": "https://page.example.com/watch?id=1",
"header": { "User-Agent": "Mozilla/5.0" }
}
接入要求
parse=0、jx=0且url是媒体直链时直接播放。parse=1或jx=1时走解析流程。header覆盖主清单、子清单、分片、密钥和字幕请求。- 空 URL、HTML 错误页、过期签名都视为失败。
- 播放结果必须始终是 JSON;XML 只用于
type=0兼容 API。
源码依据
catvod/src/main/java/com/github/catvod/crawler/Spider.javaapp/src/main/java/com/fongmi/android/tv/bean/Result.javaapp/src/main/java/com/fongmi/android/tv/player/ParseJob.javaapp/src/main/java/com/fongmi/android/tv/api/SiteApi.javaapp/src/main/java/com/fongmi/android/tv/bean/Drm.java