Files
MAcode/5-task-IPTV-四期.md
selfrelease 2cd5fbec6d 四期(大小屏融合)后端可代码部分:跨域解析网关/扫码验真/跨屏权益通兑
- model/rights.go: ScreenType/ParsedMA/ResolveResult/ScanVerifyResult/UserRights/PurchaseRecord/CrossScreenRightsResult
- service/phase4.go: ParseMACode + Resolve(C.1/C.2) + ScanVerify(B.2) + RecordPurchase/VerifyCrossScreenRights(D.1)
- api/handlers.go: GET /content/resolve, POST /content/scan-verify, /rights/purchase, /rights/verify
- service/phase4_test.go: 18 单测全绿
- 同一MA码跨iptv/ott/app统一解析; 任一屏购买全屏通看不重复扣费
- OTT/移动端SDK/C2PA凭证标注需外部环境
- 更新 5-task-IPTV-四期.md 进度
2026-06-14 19:01:26 +08:00

157 lines
7.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# TCS-IPTV 开发任务文档(四期:大小屏融合)
> 版本:V1.0
> 上游文档:0-req-IPTV.md、1-prd-IPTV.md、一/二/三期任务文档
> 文档编号:5-task-IPTV-四期
> 周期:18 个月(Y2 后半 - Y3)
> 主题:将 MA+哈希机制从 IPTV 扩展至 OTT、手机 APP,实现大小屏内容身份互通
---
## 一、四期范围
| 方向 | 内容 |
|------|------|
| OTT 接入 | 互联网电视 / OTT 盒子 / 智能电视端接入 |
| 移动端接入 | 手机 APP / 小程序端接入与扫码验真 |
| 大小屏互通 | 同一 MA 码在 IPTV/OTT/APP 间内容身份互通 |
| 跨屏权益 | 一次购买跨屏(电视↔手机)通看(衔接权益子链) |
| 内容凭证 | 移动端 C2PA 类水印/内容凭证嵌入与验证(衔接 AVCC 体系)|
---
## 二、四期技术栈增量
| 层 | 增量选型 | 说明 |
|----|---------|------|
| 移动端 | React Native / 小程序 | 创作者移动端、用户扫码验真 |
| OTT 端 | Android TV / OTT SDK | 大屏播放器抽检与验真 |
| 内容凭证 | C2PA 类水印 SDK(衔接 AVCC)| 移动端生成/验证内容凭证 |
| 网关 | MA 跨域解析网关 | 大小屏统一解析入口 |
| 权益 | 跨屏权益子链 | 电视↔手机权益通兑 |
---
## 三、任务分解
> 说明:四期含大量端侧(OTT/移动端 SDK、播放器、C2PA 水印)与跨端集成工作,
> 需真实终端环境与第三方 SDK。本仓库已实现**后端可代码部分**:跨域解析网关、
> 扫码验真、跨屏权益通兑与身份互通的服务端逻辑与接口。端侧接入标注为需外部环境。
### 工作包 AOTT 端接入
- [ ] **A.1 OTT 解析与注入校验**(端侧)
- 目标:OTT/智能电视端内容注入与播放前 MA 码解析+哈希校验
- 对应:需求4、需求7、需求19-AC4
- 验收:OTT 端复用 IPTV 注入校验能力
- 依赖:三期
- 说明:复用现有 `/content/inject``/content/verify``/content/resolve` 后端能力;OTT 端 SDK 接入需 Android TV/OTT 真实终端环境,标注需外部环境
- [ ] **A.2 OTT 播放器抽检 SDK**(端侧)
- 目标:Android TV/OTT 播放器集成片段哈希抽检
- 对应:需求8
- 验收:大屏端按集抽检;异常切源
- 依赖:A.1
- 说明:后端抽检接口 `/terminal/verify-segment` 已于二期实现;播放器 SDK 集成需真实终端,标注需外部环境
### 工作包 B:移动端接入
- [ ] **B.1 手机 APP / 小程序接入**(端侧)
- 目标:移动端内容分发接入 MA+哈希校验
- 对应:需求4、需求7、需求19-AC4
- 验收:移动端播放前校验;统一鉴权
- 依赖:三期
- 说明:复用统一鉴权与 `/content/verify`/`/content/resolve`;RN/小程序壳接入需移动端环境,标注需外部环境
- [x] **B.2 扫码验真**(后端已实现)
- 目标:用户扫码验证内容 MA 码真伪与流通状态
- 对应:需求4、需求10
- 验收:扫码返回 MA 解析+合规状态;防盗版
- 依赖:B.1
- 实现:`service.ScanVerify` + `POST /content/scan-verify`;返回真伪(authentic)/合规(compliant)/流通状态/跨屏可用屏;伪造或未登记码判为非真,下架码判为不合规
### 工作包 C:大小屏身份互通
- [x] **C.1 MA 跨域解析网关**(后端已实现)
- 目标:同一 MA 码在 IPTV/OTT/APP 统一解析
- 对应:需求4、需求10
- 验收:跨屏解析结果一致;统一流通状态
- 依赖:A.1、B.1
- 实现:`service.Resolve` + `GET /content/resolve`;六段式 MA 码解析(含集级子标识 #Exx)+ 链上流通状态 + 跨屏可用性,统一解析入口
- [x] **C.2 跨屏内容身份互通**(后端已实现)
- 目标:同一内容跨屏共享 MA 码与哈希身份
- 对应:PRD 四期目标
- 验收:电视/手机/OTT 同内容同身份
- 依赖:C.1
- 实现:Resolve/ScanVerify 对同一 MA 码在 iptv/ott/app 返回一致解析与同一哈希身份;流通内容统一返回全部屏类型(AllScreens)
### 工作包 D:跨屏权益通兑
- [x] **D.1 跨屏权益子链**(后端已实现)
- 目标:用户在电视端购买,手机端通看(权益记录上链)
- 对应:需求21(衔接权益)
- 验收:跨屏权益验证通过;不重复付费
- 依赖:C.2
- 实现:`service.RecordPurchase` + `service.VerifyCrossScreenRights`,接口 `POST /rights/purchase``POST /rights/verify`;以 MA 码为维度记录购买,任一屏购买即全屏通看,重复购买幂等不重复扣费;权益归一到整剧 MA 码(集级子标识共享)。权益记录上链需真实链环境,当前为服务端权益账户实现
### 工作包 E:移动端内容凭证(衔接 AVCC/C2PA)
- [ ] **E.1 移动端内容凭证 SDK**(端侧/衔接 AVCC
- 目标:移动端生成/验证 C2PA 类内容凭证(含 MA 标识片段)
- 对应:需求19-AC4(可扩展)
- 验收:移动生成内容携带凭证;跨端可验
- 依赖:B.1
- 说明:依赖 C2PA 类水印 SDK 与移动端环境,衔接 AVCC 体系,标注需外部环境
---
## 四、四期里程碑
- [ ] M15:OTT 端接入(工作包 A)— 端侧待真实环境;后端解析/校验能力已就绪
- [x] M16:移动端接入 + 扫码验真(工作包 B)— 扫码验真后端完成;移动壳接入待端侧环境
- [x] M17:大小屏身份互通 + 跨域解析(工作包 C)— 跨域解析网关 + 身份互通后端完成
- [x] M18:跨屏权益通兑(工作包 D)后端完成;移动内容凭证(E)待端侧/C2PA SDK
---
## 五、四期进度记录(后端可代码部分)
> 分支 `feature/phase4`,完成后 `git merge --no-ff` 回 main。
| 项 | 状态 | 实现 |
|----|------|------|
| C.1 跨域解析网关 | ✅ 已完成 | `service.Resolve` / `GET /content/resolve` |
| C.2 大小屏身份互通 | ✅ 已完成 | 同一 MA 码跨 iptv/ott/app 一致解析与哈希身份 |
| B.2 扫码验真 | ✅ 已完成 | `service.ScanVerify` / `POST /content/scan-verify` |
| D.1 跨屏权益通兑 | ✅ 已完成 | `service.RecordPurchase` / `VerifyCrossScreenRights``POST /rights/purchase``/rights/verify` |
| A.1/A.2 OTT 端接入 | ⏸ 需外部环境 | 复用后端 inject/verify/resolve/terminal 抽检;端侧 SDK 待真实终端 |
| B.1 移动端壳接入 | ⏸ 需外部环境 | 复用统一鉴权与后端校验;RN/小程序待移动端环境 |
| E.1 移动内容凭证 | ⏸ 需外部环境 | 依赖 C2PA 类水印 SDK,衔接 AVCC 体系 |
**新增代码**
- `internal/model/rights.go`ScreenType、ParsedMA、ResolveResult、ScanVerifyResult、UserRights、PurchaseRecord、CrossScreenRightsResult
- `internal/service/phase4.go`ParseMACode、Resolve、ScanVerify、RecordPurchase、VerifyCrossScreenRights
- `internal/api/handlers.go`4 个端点 + 路由注册
- `internal/service/phase4_test.go`18 个单测,全绿
**核心规则**
- 同一 MA 码(含集级子标识 `#Exx`)跨大小屏统一解析,流通中内容对全部屏(iptv/ott/app)可用
- 扫码验真:链上存在且结构合法→真码;仅 `published` 状态判为合规流通;下架码为真但不合规
- 跨屏权益:任一屏购买即全屏通看,重复购买幂等不重复扣费,权益归一到整剧 MA 码
---
## 六、四期验收标准
- OTT、手机 APP 接入 MA+哈希校验,大小屏内容身份互通
- 同一 MA 码跨 IPTV/OTT/APP 统一解析,流通状态一致
- 跨屏权益通兑:电视端购买手机端通看,不重复付费
- 用户扫码可验真内容 MA 码与合规状态
- MA+哈希机制完成从 IPTV 到全场景大小屏的扩展
---
> 四期完成后,TCS-IPTV 从"IPTV 内容可信锁定"升级为"全场景视听内容可信身份基础设施",
> 与 AVCC(AIGC 视听内容编码)体系形成大小屏、传统/AIGC 内容的统一身份底座。