feat: 更新CC码监管方案业务版文档,新增摘要、UGC专项、直播专项、存量处置、误判申诉、水印嵌入、CC码生命周期、组织保障等章节;同步macode到cccode重命名及其他代码变更

This commit is contained in:
freedakgmail
2026-07-20 22:25:40 +08:00
parent 9f1e2d0a21
commit eb4a82a877
76 changed files with 2600 additions and 2122 deletions
+49 -49
View File
@@ -9,7 +9,7 @@
## 引言
本需求文档定义 TCS-IPTVTrusted Content System for IPTV)内容可信锁定系统的功能性与非功能性需求。系统通过"MA码(监管身份)+ 哈希码(技术指纹)"双锚定机制,在 CP(内容供应商)、IPTV 集成播控平台、运营商(分发网络)三方现有系统之上建立一层"可信身份映射层",实现 IPTV 内容"审过即锁定,锁定即通行,通行可追溯"。
本需求文档定义 TCS-IPTVTrusted Content System for IPTV)内容可信锁定系统的功能性与非功能性需求。系统通过"CC码(监管身份)+ 哈希码(技术指纹)"双锚定机制,在 CP(内容供应商)、IPTV 集成播控平台、运营商(分发网络)三方现有系统之上建立一层"可信身份映射层",实现 IPTV 内容"审过即锁定,锁定即通行,通行可追溯"。
本系统的核心约束是:**不替代三方现有系统**,仅在关键节点(送审、入库、分发、播放)以最小侵入方式嵌入校验能力,并通过映射层统一对接。
@@ -23,8 +23,8 @@
| CP | Content Provider | 内容供应商 |
| 播控平台 | — | IPTV 集成播控平台 |
| 运营商 | — | IPTV 分发网络运营方(如中国电信、中国移动) |
| MA码 | — | 监管身份主键,由广电总局/省局签发(如网络剧片发行许可证号/备案号) |
| CTID | Content Twin ID | 内容孪生标识,由 MA码+哈希+版本+Merkle根 构成的唯一标识 |
| CC码 | — | 监管身份主键,由广电总局/省局签发(如网络剧片发行许可证号/备案号) |
| CTID | Content Twin ID | 内容孪生标识,由 CC码+哈希+版本+Merkle根 构成的唯一标识 |
| 文件哈希 | File Hash | SHA-256 算法,比特级敏感,精确锁定某版本文件 |
| 感知哈希 | Perceptual Hash | aHash/dHash/pHash,容忍转码压缩,跨格式识别同一内容 |
| Merkle Tree | — | 分段聚合哈希树,用于多集/长内容的分段定位 |
@@ -39,7 +39,7 @@
| 角色 | 描述 | 核心职责 |
|------|------|----------|
| 监管方 | 广电总局 / 省级广电局 | 签发 MA码、注册哈希、验真查询、映射管理、应急下架 |
| 监管方 | 广电总局 / 省级广电局 | 签发 CC码、注册哈希、验真查询、映射管理、应急下架 |
| CP | 内容供应商 | 生产内容、计算哈希、送审申报、注册本方映射 |
| 播控平台 | IPTV 集成播控方 | 送审验真、合规审核、转码授权、EPG编排、注册本方映射、执行下架指令 |
| 运营商 | IPTV 分发网络方 | CDN注入校验、EPG发布、终端播放、数据上报、注册本方映射、执行下架指令 |
@@ -72,24 +72,24 @@
1. WHEN CP 提交送审申报,THE 系统 SHALL 接收节目信息(标题、集数、时长、分辨率)、片花、海报、剧本及哈希值包。
2. WHEN 哈希值包提交成功,THE 系统 SHALL 将哈希存证至可信数据空间并返回唯一送审流水号。
3. WHEN CP 提交的内容哈希在可信数据空间中已存在,THE 系统 SHALL 拒绝重复申报,并将该申报关联至已存在哈希对应的原 MA码。
3. WHEN CP 提交的内容哈希在可信数据空间中已存在,THE 系统 SHALL 拒绝重复申报,并将该申报关联至已存在哈希对应的原 CC码。
4. THE 系统 SHALL 仅接收哈希值包,且 SHALL NOT 要求 CP 上传原始内容文件。
5. IF 哈希值包格式不完整(缺少文件哈希或 Merkle根),THEN THE 系统 SHALL 拒绝申报并提示缺失字段。
---
### 需求 3MA码签发与强绑定(监管端)
### 需求 3CC码签发与强绑定(监管端)
**User Story:** 作为监管方,我希望在审核通过后签发 MA码并将其与送审哈希包强绑定,以便建立内容的合法监管身份。
**User Story:** 作为监管方,我希望在审核通过后签发 CC码并将其与送审哈希包强绑定,以便建立内容的合法监管身份。
#### 验收标准
1. WHEN 监管方对送审内容审核通过,THE MA码签发引擎 SHALL 签发 MA码(网络剧片发行许可证号或备案号)。
2. WHEN MA码签发,THE 系统 SHALL 将 MA码与送审哈希包以 1:1 关系写入可信数据空间,且该绑定 SHALL NOT 可被解绑。
3. THE 系统 SHALL 仅允许监管节点调用 MA码签发功能(issueMA);IF 非监管节点调用,THEN THE 系统 SHALL 拒绝并返回权限错误。
4. WHEN MA码签发完成,THE 系统 SHALL 向 CP 发放"MA码+哈希证书"。
5. WHILE 内容未取得 MA码及哈希证书,THE 系统 SHALL NOT 允许该内容进入播控平台审核流程。
6. WHEN MA码绑定写入,THE 系统 SHALL 记录签发方、签发日期、MA类型、内容标题、集数等内容主表信息。
1. WHEN 监管方对送审内容审核通过,THE CC码签发引擎 SHALL 签发 CC码(网络剧片发行许可证号或备案号)。
2. WHEN CC码签发,THE 系统 SHALL 将 CC码与送审哈希包以 1:1 关系写入可信数据空间,且该绑定 SHALL NOT 可被解绑。
3. THE 系统 SHALL 仅允许监管节点调用 CC码签发功能(issueMA);IF 非监管节点调用,THEN THE 系统 SHALL 拒绝并返回权限错误。
4. WHEN CC码签发完成,THE 系统 SHALL 向 CP 发放"CC码+哈希证书"。
5. WHILE 内容未取得 CC码及哈希证书,THE 系统 SHALL NOT 允许该内容进入播控平台审核流程。
6. WHEN CC码绑定写入,THE 系统 SHALL 记录签发方、签发日期、MA类型、内容标题、集数等内容主表信息。
---
@@ -99,8 +99,8 @@
#### 验收标准
1. WHEN CP 向播控平台送审(提交 MA码、送审文件、授权链文件),THE 验真模块 SHALL 计算送审文件哈希。
2. WHEN 送审文件哈希与可信数据空间中 MA码绑定的哈希匹配,THE 系统 SHALL 确认为正版过审内容并允许进入内容审核流程。
1. WHEN CP 向播控平台送审(提交 CC码、送审文件、授权链文件),THE 验真模块 SHALL 计算送审文件哈希。
2. WHEN 送审文件哈希与可信数据空间中 CC码绑定的哈希匹配,THE 系统 SHALL 确认为正版过审内容并允许进入内容审核流程。
3. IF 送审文件哈希与绑定哈希不匹配,THEN THE 系统 SHALL 直接退回该送审,并标记为"疑似版本替换"。
4. WHEN 验真执行,THE 系统 SHALL 通过哈希验真接口查询可信数据空间,返回 valid、bound_hash、submitted_hash、match、version 等字段。
@@ -114,20 +114,20 @@
1. WHEN 送审文件验真通过,THE 播控平台 SHALL 对内容执行合规审核(政治、色情、暴力等维度)。
2. WHEN 内容审核通过且需要转码,THE 系统 SHALL 由授权转码中心执行转码,并在转码后重新计算各版本(如 H.264/H.265/4K/HD/SD)文件哈希。
3. WHEN 转码版哈希生成,THE 系统 SHALL 将转码版哈希与 MA码绑定并写入可信数据空间,且 SHALL 与原母版哈希建立父子关系。
4. THE 系统 SHALL 允许同一 MA码绑定多个转码版哈希记录,各转码版 SHALL 共享同一 MA码但拥有独立哈希记录。
3. WHEN 转码版哈希生成,THE 系统 SHALL 将转码版哈希与 CC码绑定并写入可信数据空间,且 SHALL 与原母版哈希建立父子关系。
4. THE 系统 SHALL 允许同一 CC码绑定多个转码版哈希记录,各转码版 SHALL 共享同一 CC码但拥有独立哈希记录。
---
### 需求 6:EPG编排与编码映射(播控端)
**User Story:** 作为播控平台,我希望在保留自有审核流水号的同时建立其与 MA码、哈希的映射关系,以便对接监管而不改造现有系统。
**User Story:** 作为播控平台,我希望在保留自有审核流水号的同时建立其与 CC码、哈希的映射关系,以便对接监管而不改造现有系统。
#### 验收标准
1. WHEN 内容纳入 EPGTHE 播控平台 SHALL 保留其自有审核流水号。
2. WHEN 内容入库,THE 系统 SHALL 在可信数据空间建立"播控流水号 ↔ MA码 ↔ 文件哈希 ↔ 转码版哈希"的映射关系。
3. WHEN 播控平台向运营商分发内容,THE 系统 SHALL 要求分发数据携带 MA码及哈希证书;IF 未携带,THEN THE 系统 SHALL 拒绝分发。
2. WHEN 内容入库,THE 系统 SHALL 在可信数据空间建立"播控流水号 ↔ CC码 ↔ 文件哈希 ↔ 转码版哈希"的映射关系。
3. WHEN 播控平台向运营商分发内容,THE 系统 SHALL 要求分发数据携带 CC码及哈希证书;IF 未携带,THEN THE 系统 SHALL 拒绝分发。
4. THE 播控平台 SHALL 仅能管理本方(broadcast)的映射记录。
---
@@ -139,7 +139,7 @@
#### 验收标准
1. WHEN 运营商接收播控平台分发的内容并准备注入 CDN,THE 注入校验模块 SHALL 计算注入文件哈希。
2. WHEN 注入文件哈希与可信数据空间中 MA码绑定的哈希匹配,THE 系统 SHALL 允许注入 CDN 并生成分发编码。
2. WHEN 注入文件哈希与可信数据空间中 CC码绑定的哈希匹配,THE 系统 SHALL 允许注入 CDN 并生成分发编码。
3. IF 注入文件哈希与绑定哈希不匹配,THEN THE 系统 SHALL 拒绝注入,触发告警并退回播控平台,同时暂停该内容分发。
4. WHEN 注入成功,THE 系统 SHALL 在可信数据空间注册运营商(operator)映射记录(分发编码、CDN端点)。
@@ -160,35 +160,35 @@
### 需求 9:统一维度数据上报与聚合
**User Story:** 作为监管方,我希望三方播放与业务数据以 MA码为统一维度聚合,以便获得口径一致的可信数据。
**User Story:** 作为监管方,我希望三方播放与业务数据以 CC码为统一维度聚合,以便获得口径一致的可信数据。
#### 验收标准
1. WHEN 运营商上报播出数据,THE 系统 SHALL 以 MA码为统一维度组织数据。
2. THE 可信数据空间 SHALL 按 MA码聚合 CP 播放量、播控审核量、运营商分发量,并保证各方数据口径一致。
3. WHEN 数据聚合完成,THE 系统 SHALL 提供按 MA码查询的统一数据视图。
1. WHEN 运营商上报播出数据,THE 系统 SHALL 以 CC码为统一维度组织数据。
2. THE 可信数据空间 SHALL 按 CC码聚合 CP 播放量、播控审核量、运营商分发量,并保证各方数据口径一致。
3. WHEN 数据聚合完成,THE 系统 SHALL 提供按 CC码查询的统一数据视图。
---
### 需求 10:全生命周期监管查询(监管端)
**User Story:** 作为监管方,我希望通过监管大屏按 MA码查询内容全链路状态,以便实现精准溯源。
**User Story:** 作为监管方,我希望通过监管大屏按 CC码查询内容全链路状态,以便实现精准溯源。
#### 验收标准
1. WHEN 监管方按 MA码查询,THE 监管大屏 SHALL 返回内容当前所在播控平台、当前所在运营商 CDN、当前哈希版本是否最新。
2. WHEN 监管方查询内容历史,THE 系统 SHALL 返回该 MA码的历史版本变更记录。
3. THE 监管大屏 SHALL 支持监管方按 MA码穿透查询三方系统的对应编码。
1. WHEN 监管方按 CC码查询,THE 监管大屏 SHALL 返回内容当前所在播控平台、当前所在运营商 CDN、当前哈希版本是否最新。
2. WHEN 监管方查询内容历史,THE 系统 SHALL 返回该 CC码的历史版本变更记录。
3. THE 监管大屏 SHALL 支持监管方按 CC码穿透查询三方系统的对应编码。
---
### 需求 11:违规应急下架(监管端)
**User Story:** 作为监管方,我希望下发单一 MA码下架指令即可触发全网下架,以便实现秒级应急响应而无需逐层人工翻译。
**User Story:** 作为监管方,我希望下发单一 CC码下架指令即可触发全网下架,以便实现秒级应急响应而无需逐层人工翻译。
#### 验收标准
1. WHEN 监管方下发"下架 MA码 第XXX号"指令,THE 系统 SHALL 解析该 MA码并查询其绑定的所有三方编码及 CDN端点。
1. WHEN 监管方下发"下架 CC码 第XXX号"指令,THE 系统 SHALL 解析该 CC码并查询其绑定的所有三方编码及 CDN端点。
2. WHEN 下架指令解析完成,THE 系统 SHALL 自动将指令翻译为播控平台下架(审核流水号)与运营商下架(分发编码、CDN资源)的执行动作。
3. THE 系统 SHALL 在接收下架指令后秒级同步至全网三方系统,且 SHALL NOT 要求人工逐层翻译。
4. THE 系统 SHALL 仅允许监管方下发应急下架指令;播控平台与运营商 SHALL 仅执行指令而无下架发起权限。
@@ -201,7 +201,7 @@
#### 验收标准
1. WHEN 内容发生任意帧级变动导致哈希变化,THE 系统 SHALL 判定原 MA码与哈希的绑定断裂。
1. WHEN 内容发生任意帧级变动导致哈希变化,THE 系统 SHALL 判定原 CC码与哈希的绑定断裂。
2. WHEN 绑定断裂,THE 系统 SHALL 在版本变更表中记录变更原因、原哈希、新哈希,并将 reaudit_required 置为 true。
3. WHEN 单集内容被替换,THE 系统 SHALL 通过 Merkle Tree 重新计算该集哈希并定位被篡改的具体集数,且 SHALL NOT 要求全量重审。
4. WHILE 重审未通过,THE 系统 SHALL NOT 允许变更后的内容进入分发流程。
@@ -210,12 +210,12 @@
### 需求 13:跨省复用快速准入
**User Story:** 作为 CP,我希望在一省过审后凭 MA码+哈希证书在其他省份快速准入,以便降低跨省复用的边际成本。
**User Story:** 作为 CP,我希望在一省过审后凭 CC码+哈希证书在其他省份快速准入,以便降低跨省复用的边际成本。
#### 验收标准
1. WHEN CP 持 A省签发的 MA码+哈希证书向 B省播控平台送审,THE 系统 SHALL 仅要求提交 MA码与哈希证书,且 SHALL NOT 要求重新提交内容文件。
2. WHEN B省播控平台发起准入查询,THE 系统 SHALL 验证 MA码真实有效、哈希与原过审版一致、且内容不在黑名单中。
1. WHEN CP 持 A省签发的 CC码+哈希证书向 B省播控平台送审,THE 系统 SHALL 仅要求提交 CC码与哈希证书,且 SHALL NOT 要求重新提交内容文件。
2. WHEN B省播控平台发起准入查询,THE 系统 SHALL 验证 CC码真实有效、哈希与原过审版一致、且内容不在黑名单中。
3. WHEN 三重校验通过,THE 系统 SHALL 允许 B省播控平台快速准入,并将内容审核简化为合规性抽检。
4. WHEN B省准入完成,THE 系统 SHALL 生成 B省审核流水号并注册对应映射关系。
@@ -227,10 +227,10 @@
#### 验收标准
1. THE 系统 SHALL 仅允许监管方(广电总局/省局)执行签发 MA码、注册哈希、验真查询、映射管理、应急下架全部操作。
2. THE 系统 SHALL 允许播控平台执行验真查询、本方映射管理、执行下架指令;且 SHALL NOT 允许其签发 MA码、注册哈希、发起下架。
3. THE 系统 SHALL 允许运营商执行验真查询、本方映射管理、执行下架指令;且 SHALL NOT 允许其签发 MA码、注册哈希、发起下架。
4. THE 系统 SHALL 允许 CP 在送审时注册哈希、执行自查验真、管理本方映射;且 SHALL NOT 允许其签发 MA码或发起下架。
1. THE 系统 SHALL 仅允许监管方(广电总局/省局)执行签发 CC码、注册哈希、验真查询、映射管理、应急下架全部操作。
2. THE 系统 SHALL 允许播控平台执行验真查询、本方映射管理、执行下架指令;且 SHALL NOT 允许其签发 CC码、注册哈希、发起下架。
3. THE 系统 SHALL 允许运营商执行验真查询、本方映射管理、执行下架指令;且 SHALL NOT 允许其签发 CC码、注册哈希、发起下架。
4. THE 系统 SHALL 允许 CP 在送审时注册哈希、执行自查验真、管理本方映射;且 SHALL NOT 允许其签发 CC码或发起下架。
5. WHEN 任意角色尝试越权操作,THE 系统 SHALL 拒绝该操作并返回权限错误。
---
@@ -245,21 +245,21 @@
2. IF CDN注入阶段哈希不匹配,THEN THE 系统 SHALL 拒绝注入、告警播控平台并暂停该内容分发。
3. IF 终端抽检阶段哈希不匹配,THEN THE 系统 SHALL 断流、切换备用源并上报异常日志。
4. WHEN 内容发生剪辑/修改,THE 系统 SHALL 要求重新计算哈希、提交变更申请并触发重新审核。
5. WHEN CP 以同一哈希换壳重发,THE 系统 SHALL 识别哈希已存在并拒绝重复申报,同时关联原 MA码。
5. WHEN CP 以同一哈希换壳重发,THE 系统 SHALL 识别哈希已存在并拒绝重复申报,同时关联原 CC码。
---
### 需求 16:可信数据空间存证与智能合约
**User Story:** 作为系统,我希望通过联盟链与智能合约管理 MA码、哈希与映射的存证,以便保证数据不可篡改与可信。
**User Story:** 作为系统,我希望通过联盟链与智能合约管理 CC码、哈希与映射的存证,以便保证数据不可篡改与可信。
#### 验收标准
1. THE 可信数据空间 SHALL 维护内容主表、哈希绑定表、三方编码映射表、版本变更表四类核心数据结构。
2. THE 智能合约 SHALL 提供 issueMA(签发)、registerMapping(注册映射)、verifyHash(哈希校验)核心方法。
3. WHEN registerMapping 被调用,IF 对应 MA码尚未签发,THEN THE 系统 SHALL 拒绝注册映射。
3. WHEN registerMapping 被调用,IF 对应 CC码尚未签发,THEN THE 系统 SHALL 拒绝注册映射。
4. THE 系统 SHALL 通过 Merkle Tree 存储多集内容的分段哈希,并支持按集定位篡改。
5. THE 可信数据空间 SHALL 保证已写入的 MA码与哈希绑定记录不可篡改。
5. THE 可信数据空间 SHALL 保证已写入的 CC码与哈希绑定记录不可篡改。
---
@@ -270,8 +270,8 @@
#### 验收标准
1. THE 系统 SHALL 提供哈希上链接口(POST /api/v1/content/register),供 CP 提交标题、集数、各集文件哈希、Merkle根、感知哈希、时长、分辨率、CP媒资ID,并返回送审流水号与状态。
2. THE 系统 SHALL 提供哈希验真接口(GET /api/v1/content/verify),供播控/运营商按 MA码与文件哈希查询并返回 valid、bound_hash、submitted_hash、match、version、转码版列表。
3. THE 系统 SHALL 提供映射查询接口(GET /api/v1/content/mappings),供应急下架按 MA码查询三方编码映射与 CDN端点。
2. THE 系统 SHALL 提供哈希验真接口(GET /api/v1/content/verify),供播控/运营商按 CC码与文件哈希查询并返回 valid、bound_hash、submitted_hash、match、version、转码版列表。
3. THE 系统 SHALL 提供映射查询接口(GET /api/v1/content/mappings),供应急下架按 CC码查询三方编码映射与 CDN端点。
4. THE 系统 SHALL 对接口调用进行身份鉴权(如 Bearer Token)。
---
@@ -300,7 +300,7 @@
#### 验收标准
1. THE 系统 SHALL 保证 MA码与哈希的绑定记录一经写入不可篡改、不可解绑。
1. THE 系统 SHALL 保证 CC码与哈希的绑定记录一经写入不可篡改、不可解绑。
2. THE 系统 SHALL 保证哈希计算在 CP 本地完成,原始内容文件 SHALL NOT 上传至可信数据空间。
3. THE 系统 SHALL 对所有关键操作(签发、注册、验真、下架)进行链上存证以支持审计。
@@ -311,10 +311,10 @@
| 类别 | 内容 |
|------|------|
| 约束 | 不替代三方现有系统,仅建立"可信身份映射层" |
| 约束 | MA码签发权与应急下架发起权仅归监管方 |
| 约束 | MA码与哈希 1:1 强绑定,不可解绑 |
| 约束 | CC码签发权与应急下架发起权仅归监管方 |
| 约束 | CC码与哈希 1:1 强绑定,不可解绑 |
| 假设 | 三方系统具备在关键节点集成哈希计算SDK与API调用的能力 |
| 假设 | 广电总局备案系统可对接 MA码签发与哈希绑定 |
| 假设 | 广电总局备案系统可对接 CC码签发与哈希绑定 |
| 依赖 | 联盟链/分布式账本基础设施可用 |
| 依赖 | 授权转码中心具备转码后哈希重算与上链能力 |
+677
View File
@@ -0,0 +1,677 @@
# CC码视频监管系统方案
> 面向业务管理层的方案说明
> 编制日期:2026年7月
---
## 摘要
CC码(广电内容编码)是广电总局推出的**强制性视频内容标识制度**,要求全网所有视频内容——包括影视剧、综艺、新闻、短视频、UGC用户创作——上线前必须取得CC码,所有视频平台必须接入CC码验证体系,**无码不得上线**。
本方案采用**"双层架构"**实现CC码的全网监管:
| 防线 | 机制 | 响应速度 | 覆盖范围 |
|------|------|---------|---------|
| **第一层:平台侧预防** | 在上传、播出、CDN、终端四个环节嵌入CC码验证,无码拦截、违规秒级下架 | **秒级** | 所有对接平台 |
| **第二层:独立监控兜底** | 爬虫巡查+水印提取+指纹比对+AI语义识别,不依赖平台配合 | **分钟级** | 全网(含未对接平台、境外平台) |
**关键设计要点**
- **UGC专项**:平台代理赋码(码段授权+实时赋码),分级检测(快速筛查→重点检测→深度检测),合理使用与二创界定
- **直播专项**:频道/主播级赋码,播出中实时校验,分钟切片检测+秒级断流
- **存量处置**:12个月过渡期,分批补码(头部3个月→一般6个月→全量12个月),过渡期内第二层重点巡查
- **误判申诉**:48小时申诉+24小时审核,分级处置+人工兜底+白名单+秒级恢复
- **水印嵌入**:CC码+平台代码+时间戳嵌入视频像素,不可见、抗压缩、抗裁剪,是全链路追溯的技术基础
- **CC码生命周期**:申请→审核→有效→暂停→恢复/下架→过期,全程状态管理,变更可追溯
- **组织保障**:5个团队约30~44人,7×24小时告警处理,平台考核与牌照续期挂钩
**实施路线**:5个阶段,18个月完成全量上线——3个月持证平台秒级拦截,6个月UGC赋码+独立监控,9个月存量补码+直播监管,12个月全量运行,18个月运营优化。
**核心价值**:从"人工巡查、天级发现、小时级下架"升级为"自动检测、秒级拦截、秒级全网下架",实现全网全量视频内容的实时监管闭环。
---
## 一、政策背景与要解决的问题
### 1.1 政策背景
CC码(广电内容编码)是广电总局和相关部门推出的**强制性视频内容标识制度**,要求:
- **所有视频内容**——包括影视剧、综艺、纪录片、新闻、短视频、UGC用户创作——上线前必须取得CC码
- **所有视频平台**——包括持证平台、短视频平台、直播平台——必须接入CC码验证体系
- **无码不得上线**:没有CC码的视频内容,平台不得提供上传、发布、传播服务
> CC码相当于视频内容的"数字身份证"。与现有的网络剧片发行许可证制度**并行衔接**:影视剧既需要发行许可证,也需要CC码;UGC等不需要许可证的内容,只需CC码。CC码将监管范围从传统影视剧扩展到**全网所有视频内容**。
### 1.2 现状痛点
当前视频内容监管面临四个核心难题:
| 痛点 | 说明 | 现状 |
|------|------|------|
| **发现晚** | 违规视频上线后,靠人工巡查或群众举报才发现 | 往往已经传播数天,造成不良影响 |
| **下架慢** | 发现违规后,需要逐级通知各平台人工处理 | 从发现到全网下架通常需要数小时甚至数天 |
| **追责难** | 视频被搬运、剪辑后,难以追溯原始来源 | 无法证明"这个视频是从哪个正版内容剪辑来的" |
| **UGC难管** | 短视频平台日均上传量达数百万条,人工审核杯水车薪 | 大量违规内容混在UGC中传播 |
### 1.3 我们的目标
通过CC码制度+技术手段,实现:
- **正向发码**:所有视频内容(含UGC)上线前取得CC码,无码不上线
- **逆向监管**:在全网范围内自动发现、识别、处置违规视频内容
- **秒级下架**:违规内容一经发现,秒级通知全网下架
- **全量覆盖**:从影视剧到UGC短视频,从持证平台到境外平台,全覆盖、无死角
---
## 二、核心思路:两道防线
我们采用**"预防为主,兜底为辅"**的双层设计,可以类比理解为**"门口安检 + 商场巡检"**
| 比喻 | 对应方案 | 作用 |
|------|---------|------|
| 门口安检 | 第一层:平台侧预防 | 在内容上传/播出时查验CC码,无码不让进 |
| 商场巡检 | 第二层:独立监控 | 安检被绕过时,巡检员在全网巡查发现违规 |
### 为什么需要两道防线
- **只有第一层**:平台如果不配合(不装安检门),就完全失控
- **只有第二层**:发现违规后还要等平台配合才能下架,时延不可控
- **两层并行**:配合的平台秒级拦截,不配合的平台也能分钟级发现并处置
> CC码作为强制要求,所有平台必须接入第一层。但行政强制不能保证100%执行到位,第二层独立监控作为技术兜底,确保"制度管得到的秒级管,制度暂时管不到的分钟级管"。
---
## 三、第一层:平台侧预防(秒级)
### 3.1 工作方式
在视频平台的四个关键环节嵌入CC码验证,类似"四道安检关卡":
| 关卡 | 在什么环节检查 | 检查什么 | 不通过怎么办 | 用户是否有感知 |
|------|-------------|---------|------------|-------------|
| **第一关:上传拦截** | 内容上传到平台时 | 有没有CC码、码是否合法 | 拒绝上传,提示先去备案(UGC由平台代理赋码,详见第五章) | 上传者看到提示,观众无感 |
| **第二关:播出校验** | 观众点击播放时 | CC码是否还有效(是否已被下架) | 返回"该内容已下架" | 观众看到下架提示 |
| **第三关:CDN注入校验** | 内容分发到CDN时 | 文件是否被篡改 | 拒绝分发,退回审核 | 观众无感 |
| **第四关:终端抽检** | 观众播放过程中 | 播放的内容和登记的是否一致 | 自动断流,切换备用源 | 极偶尔的卡顿,基本无感 |
### 3.2 秒级下架怎么实现
当监管方决定下架某个内容时,只需一条指令:
```
监管方下达指令:"下架 CC码 第XXX号"
│ 系统自动查找该CC码关联的所有:
│ · 哪些平台有这个内容
│ · 哪些CDN缓存了这个内容
│ · 哪些运营商在分发这个内容
▼ 同时通知所有相关方(1秒内)
┌────┼────────────┬────────────┬────────────┐
▼ ▼ ▼ ▼ ▼
平台A 平台B 运营商A 运营商B CDN全网
自动下架 自动下架 清除缓存 清除缓存 黑名单拦截
(1秒) (1秒) (1秒) (1秒) (1秒)
```
**关键点**:监管方只需说"下架这个CC码",系统自动翻译成各平台、各CDN能理解的执行指令,不需要人工逐个通知。
### 3.3 适用范围
CC码是强制性要求,所有视频平台必须对接:
| 平台类型 | 对接方式 | 效果 |
|---------|---------|------|
| IPTV集成播控平台 | 已有TCS-IPTV基础,天然对接 | 秒级拦截+秒级下架 |
| 持证视频平台(爱奇艺/腾讯/优酷等) | 强制对接,行政要求 | 秒级拦截+秒级下架 |
| 短视频平台(抖音/快手/B站等) | 强制对接,UGC批量发码(详见第五章) | 上传环节拦截+批量验证 |
| 直播平台 | 强制对接,直播前预告赋码+播出中实时校验(详见第五章) | 播出环节秒级拦截 |
| 中小视频平台 | 强制对接,分批过渡 | 过渡期内由第二层重点巡查 |
| 境外平台 | 无法对接 | 依靠第二层检测+DNS封锁 |
---
## 四、第二层:独立监控兜底(分钟级)
### 4.1 为什么需要第二层
CC码虽是强制要求,但第一层仍有管不到的地方:
| 场景 | 第一层为什么管不到 | 第二层怎么管 |
|------|-----------------|------------|
| 平台对接有过渡期 | 中小平台分批接入,过渡期内未对接 | 系统自动巡查全网,发现违规 |
| 平台执行不到位 | 形式上对接但实际未严格执行 | 系统独立检测,不依赖平台 |
| UGC剪辑搬运 | 剪辑后的新内容未重新赋码 | 通过内容比对,识别出是哪个正版内容的片段 |
| 境外平台传播 | 管不了境外平台 | 检测发现后,走DNS封锁 |
| 有人故意去水印 | 去掉水印后平台无法验证 | 用内容指纹识别,即使去水印也能认出来 |
| 存量内容未补码 | 补码完成前的存量内容 | 重点巡查,发现违规立即处置 |
### 4.2 工作方式
第二层像一个**自动巡查系统**,分三步工作:
**第一步:采集(发现视频)**
| 采集方式 | 说明 | 覆盖范围 |
|---------|------|---------|
| 网络巡查 | 自动浏览各大视频网站,发现新上线的视频 | 主流视频平台、短视频平台、小网站 |
| 直播录制 | 对电视直播频道实时录制片段 | 卫星频道、有线频道、网络直播 |
| 群众举报 | 提供举报入口,接收群众举报的可疑链接 | 全网 |
**第二步:检测(识别视频)**
对采集到的视频,用三种手段逐步识别:
| 检测手段 | 通俗解释 | 速度 | 能扛什么破坏 |
|---------|---------|------|------------|
| **提取CC码** | 类似扫描身份证 | 秒级 | 扛得住压缩、转码、裁剪 |
| **内容指纹比对** | 类比人脸识别,即使换了衣服也能认出 | 毫秒级 | 扛得住剪辑、加滤镜、去水印 |
| **AI语义理解** | 类比让人看视频说"这跟某某剧是同一部" | 分钟级 | 扛得住深度混剪、拼接 |
三种手段层层递进:第一种认不出来就用第二种,第二种还不行就用第三种。
**第三步:处置(告警+下架)**
| 检测结果 | 处置方式 | 响应速度 |
|---------|---------|---------|
| 发现伪造/无码内容 | 紧急电话+短信通知监管方,要求平台立即下架 | 立即 |
| 发现去水印传播 | 短信通知+自动发行政通知给平台 | 5分钟内 |
| 发现疑似违规 | 纳入日报,人工研判 | 24小时内 |
### 4.3 下架后的验证
第二层还有一个重要职责——**验证下架是否真的执行了**:
```
监管方下达下架指令
├── 第一层通知各平台下架(秒级)
└── 第二层验证下架效果(分钟级)
├── 自动巡查该视频的URL → 还能访问吗?
├── 已下架 → 记录确认
├── 仍能访问 → 升级告警:"XX平台未执行下架指令"
└── 持续监控 → 防止偷偷重新上架
```
---
## 五、UGC短视频场景专项设计
### 5.1 UGC为什么需要单独设计
UGC短视频与影视剧有本质区别,不能简单套用同一套流程:
| 维度 | 影视剧 | UGC短视频 |
|------|--------|----------|
| 日均上传量 | 几十~几百部 | 数百万条 |
| 内容来源 | 专业机构制作 | 普通用户创作 |
| 单条时长 | 30分钟~2小时 | 15秒~5分钟 |
| 是否需要审核 | 严格审核 | 平台自查+抽检 |
| 违规风险 | 较低(已审核) | 较高(实时上传) |
### 5.2 UGC发码机制
UGC不能要求每个用户都去广电总局申请CC码,需要设计**批量发码+平台代理**机制:
```
用户上传短视频
├── 平台自动审核(AI初筛+人工复核)
├── 审核通过 → 平台代理向CC码系统批量申请CC码
│ ├── 平台获得码段授权(广电总局分配号段给平台)
│ ├── 平台在号段内为每条UGC内容自动赋码
│ └── 赋码信息回传CC码系统备案
└── 审核不通过 → 拒绝发布
```
**关键设计**
| 机制 | 说明 |
|------|------|
| **码段授权** | 广电总局给各平台分配CC码号段,平台在号段内自行赋码 |
| **平台代理** | 用户无需直接对接广电系统,平台代为赋码 |
| **实时赋码** | 用户上传审核通过后秒级赋码,不影响上传体验 |
| **回传备案** | 平台定期将赋码清单回传CC码系统,纳入监管 |
| **码段管控** | 广电可随时收回或冻结平台码段,形成约束 |
### 5.3 UGC检测策略
UGC量巨大,不可能全量深度检测,采用**分级检测**策略:
| 检测级别 | 触发条件 | 检测方式 | 处理速度 |
|---------|---------|---------|---------|
| **快速筛查** | 所有UGC | CC码元数据验证(有无码、码是否在有效号段内) | 毫秒级 |
| **重点检测** | 疑似搬运正版内容 | 内容指纹比对(是否匹配已登记的影视剧指纹) | 秒级 |
| **深度检测** | 疑似违规或高传播量内容 | 水印提取+AI语义分析 | 分钟级 |
**如何判断"疑似搬运正版内容"**
```
UGC视频上传
├── 计算内容指纹(秒级)
├── 与影视剧本纹库比对
│ ├── 指纹相似度>80% → 疑似搬运 → 进入重点检测
│ ├── 指纹相似度50~80% → 疑似二创 → 标记观察
│ └── 指纹相似度<50% → 原创内容 → 正常赋码
└── 分级处理
├── 疑似搬运 → 提取水印 → 有CC码 → 正版授权?记录
│ → 无水印 → 告警:疑似盗版搬运
└── 疑似二创 → 记录关联关系 → 纳入版权追踪
```
### 5.4 合理使用与二创界定
并非所有使用正版素材的视频都是违规,需要区分**合理使用**和**侵权搬运**:
| 类型 | 特征 | 处理方式 |
|------|------|---------|
| **原创内容** | 完全自主创作 | 正常赋码,正常传播 |
| **合理使用(影评/解说)** | 使用少量片段+大量原创解说 | 正常赋码,标注引用来源 |
| **二创混剪** | 基于正版素材的创意改编 | 赋码时标注"二创",关联原始CC码 |
| **侵权搬运** | 整片搬运或大段搬运,无原创加工 | 拒绝赋码,下架处理 |
| **去水印搬运** | 去除水印后整片搬运 | 拒绝赋码,下架+追责 |
> 界定标准由广电总局制定,系统提供技术识别能力,最终判定由人工审核确认。
### 5.5 直播场景专项设计
直播与点播有本质区别:直播是实时的,不能等审核完再播出。需要单独设计赋码和监管流程:
**直播赋码机制**
| 直播类型 | 赋码方式 | 说明 |
|---------|---------|------|
| 卫视直播频道 | 频道级赋码 | 每个频道一个CC码,提前报备节目单 |
| 网络直播(秀场/游戏等) | 主播级赋码 | 平台为主播分配CC码,主播实名绑定 |
| 事件直播(赛事/演唱会等) | 活动级赋码 | 活动主办方提前申请CC码 |
| 突发直播(新闻等) | 平台应急赋码 | 平台用码段内应急码,事后补审 |
**直播监管流程**
```
直播开始前
├── 频道/主播/活动已赋CC码 → 正常开播
└── 未赋码 → 平台不得开播
直播进行中
├── 第一层:实时校验CC码状态(是否已被下架)
│ ├── CC码有效 → 继续播出
│ └── CC码已下架 → 秒级断流
└── 第二层:实时录制片段 → 水印提取 + 指纹比对
├── 内容正常 → 继续监控
├── 发现违规 → 秒级告警 + 断流指令
└── 发现无码直播 → 紧急告警 + 行政通知
直播结束后
├── 直播录像自动存档 → 补充检测
└── 发现违规片段 → 追溯处置
```
**关键设计**
| 机制 | 说明 |
|------|------|
| **频道/主播级赋码** | 不需要每场直播单独申请,一次赋码长期有效 |
| **实时校验** | 播出过程中持续校验CC码状态,下架指令秒级生效 |
| **片段录制** | 第二层对直播流按分钟切片录制,逐片检测 |
| **应急码段** | 突发新闻等无法提前申请的场景,平台使用应急码段,事后补审 |
| **录像存档** | 直播结束后录像自动存档,供事后追溯和补检 |
### 5.6 水印嵌入机制
前面多次提到"提取水印"和"去水印",这里说明水印是怎么嵌入到视频中的:
**什么时候嵌入**
| 内容类型 | 嵌入时机 | 由谁嵌入 |
|---------|---------|---------|
| 影视剧/专业内容 | CC码签发后、内容上线前 | 内容制作方在母版中嵌入 |
| UGC短视频 | 平台赋码后、发布前 | 平台在转码环节自动嵌入 |
| 直播内容 | 直播流编码环节 | 平台在编码器中实时嵌入 |
| 存量补码内容 | 补码后重新转码时 | 平台在重新转码时嵌入 |
**水印嵌入什么信息**
| 信息 | 说明 |
|------|------|
| CC码 | 内容的唯一标识 |
| 平台代码 | 内容上线平台的标识 |
| 时间戳 | 嵌入时间,用于追溯 |
**水印特性**
| 特性 | 说明 |
|------|------|
| **不可见** | 嵌入在画面像素中,人眼看不到,不影响观看体验 |
| **不可听** | 如有音频水印,嵌入在音频中,人耳听不到 |
| **抗压缩** | 经过转码、压缩后仍可提取 |
| **抗裁剪** | 画面裁剪后仍可部分提取 |
| **多帧冗余** | 水印重复嵌入在多帧中,部分帧丢失不影响提取 |
> 水印嵌入是CC码监管的技术基础。没有水印,第二层检测就无法识别视频内容的来源。广电总局应制定水印嵌入标准,所有平台和制作方按统一标准执行。
---
## 六、两层如何配合
### 6.1 正常情况(大多数内容)
**影视剧/专业内容**
```
内容制作 → 送审取得CC码 → 上传平台(第一关验证通过)→ 平台审核 → 观众播放
一切正常
第二层不介入
```
**UGC短视频**
```
用户创作 → 上传平台 → 平台审核 → 平台代理赋码 → 发布上线 → 观众播放
一切正常
第二层快速筛查通过
```
### 6.2 异常情况(违规内容)
| 场景 | 第一层 | 第二层 | 最终结果 |
|------|--------|--------|---------|
| 无CC码内容上传 | 第一关拦截,拒绝上传 | - | 内容根本不上线 |
| UGC未赋码就发布 | 平台赋码流程异常,拦截 | - | 内容不上线,平台修复流程 |
| 已下架内容被点播 | 第二关拦截,返回下架提示 | - | 观众看到下架提示 |
| 平台过渡期未对接 | 管不到 | 爬虫发现→检测→告警→行政通知 | 分钟级发现,小时级下架 |
| UGC搬运正版内容 | 赋码时指纹比对发现 | 重点检测→告警 | 秒级拦截上传 |
| 正版内容被剪辑搬运 | 二创赋码时标注关联 | 指纹比对识别→判定是否合理使用 | 分钟级发现侵权 |
| 有人故意去水印 | 验证不了 | 内容指纹识别→告警 | 分钟级发现,追责 |
| 境外平台传播 | 管不到 | 检测发现→DNS封锁 | 天级处置 |
| 存量内容未补码 | 过渡期内允许 | 重点巡查→发现违规立即处置 | 过渡期内重点监管 |
### 6.3 下架指令的执行
```
监管方一条指令
├──→ 第一层:秒级通知全网下架(平台+CDN)
└──→ 第二层:分钟级验证下架效果
├── 确认下架 → 结案
└── 未下架 → 升级处理
```
---
## 七、存量内容处置计划
CC码制度实施后,全网已有海量存量视频没有CC码,必须制定明确的处置计划:
### 7.1 存量内容分类处置
| 内容类型 | 处置方式 | 时间要求 |
|---------|---------|---------|
| **头部热播内容**(各平台Top1000) | 优先补登记CC码 | 制度生效后3个月内 |
| **一般影视剧/综艺** | 分批补登记 | 制度生效后6个月内 |
| **长尾专业内容** | 平台批量补登记 | 制度生效后12个月内 |
| **存量UGC** | 平台按码段批量赋码 | 制度生效后12个月内 |
| **已下架/失效内容** | 不需要补码 | - |
### 7.2 补码过渡期安排
```
制度生效
├── 过渡期(12个月)
│ ├── 存量内容可继续在线,但必须分批补码
│ ├── 补码完成前,纳入第二层重点巡查
│ └── 过渡期内新发现违规的存量内容,立即下架
└── 过渡期结束
├── 已补码内容 → 纳入正常监管流程
└── 未补码内容 → 强制下架,平台不得继续提供
```
### 7.3 存量补码的执行方式
| 角色 | 职责 |
|------|------|
| 广电总局 | 发布补码指令,分配码段 |
| 各平台 | 负责本平台存量内容的批量补登记 |
| CC码系统 | 提供批量赋码接口,支持平台批量提交 |
| 第二层监控 | 验证各平台补码进度,对未按时完成的重点巡查 |
---
## 八、误判申诉与恢复机制
### 8.1 为什么需要申诉机制
任何自动化检测都不可能100%准确。如果正常内容被误判为违规并下架,会影响平台正常运营和创作者权益,必须提供快速申诉和恢复通道。
### 8.2 申诉流程
```
内容被下架/拦截
├── 平台/创作者收到下架通知
│ 通知包含:下架原因、CC码、检测证据
├── 平台/创作者发起申诉(48小时内)
│ 申诉渠道:CC码系统申诉接口 / 平台代申诉
├── 申诉审核(24小时内)
│ ├── 自动复核:重新检测,确认是否误判
│ └── 人工复核:由审核人员判断
└── 申诉结果
├── 申诉成功 → 立即恢复上线 → 记录误判案例 → 优化检测阈值
└── 申诉驳回 → 维持下架 → 告知驳回理由
```
### 8.3 误判防控措施
| 措施 | 说明 |
|------|------|
| **分级处置** | 低置信度告警先标记观察,不直接下架;高置信度才下架 |
| **人工兜底** | UGC二创、影评解说等灰色地带,必须人工审核确认 |
| **阈值可调** | 指纹相似度阈值根据误判案例持续优化 |
| **白名单机制** | 已确认的合理使用内容纳入白名单,避免重复误判 |
| **申诉数据反哺** | 申诉案例用于训练检测模型,持续降低误判率 |
### 8.4 恢复上线机制
| 场景 | 恢复方式 | 速度 |
|------|---------|------|
| 申诉成功 | CC码状态恢复为"有效",第一层播出校验自动放行 | 秒级 |
| 申诉成功+CDN缓存 | CC码恢复+通知CDN清除下架标记 | 分钟级 |
| 误批量下架 | 批量恢复CC码状态,批量通知平台 | 分钟级 |
---
## 九、实施计划
### 9.1 分阶段路线
> 以下时间线从**项目启动**起算。存量补码时间线从**CC码制度正式生效**起算(见第七章),两者可能存在时间差:制度生效前完成系统建设,制度生效后启动存量补码。
| 阶段 | 时间 | 目标 |
|------|------|------|
| **第一阶段** | 3个月 | 第一层上线:监管API+秒级下架,对接IPTV+1~2家持证平台 |
| **第二阶段** | 6个月 | 第二层起步版上线+UGC赋码机制上线,对接短视频平台 |
| **第三阶段** | 9个月 | 存量补码启动+直播监管上线+GPU加速检测 |
| **第四阶段** | 12个月 | 全量上线:全网平台对接+存量补码完成+完整监管覆盖 |
| **第五阶段** | 18个月 | 全量运行+对抗加固+运营优化 |
### 9.2 里程碑
| 时间点 | 里程碑 | 验收标准 |
|--------|--------|---------|
| 第3个月 | 持证平台秒级拦截上线 | 试点平台上传验证+播出校验+秒级下架 |
| 第6个月 | UGC赋码+独立监控跑通 | 短视频平台批量赋码上线,日检测5000条,准确率≥90% |
| 第9个月 | 存量补码+直播监管 | 存量Top1000补码完成,50路直播实时监测 |
| 第12个月 | 全量运行 | 全网覆盖,存量补码完成,完整告警+下架+验证+申诉闭环 |
| 第18个月 | 运营优化 | 误判率<2%,对抗测试通过,全量稳定运行 |
---
## 十、与已有系统的关系
本方案不是推倒重来,而是在已有的TCS-IPTV系统上**叠加增强**
| 已有能力 | 本方案新增 | 关系 |
|---------|-----------|------|
| CC码生成签发 | 平台侧验证API+UGC批量赋码+直播赋码 | 让CC码从"登记备案"升级为"实时验证+全量赋码" |
| 送审文件验真 | 上传环节拦截 | 从"送审时验"扩展到"上传时验" |
| CDN注入校验 | 无需改动 | 已有关卡,直接复用 |
| 终端播放抽检 | 无需改动 | 已有关卡,直接复用 |
| 应急下架指令 | 秒级全网同步 | 从"逐层通知"升级为"一键全网下架" |
| 全生命周期监管 | 独立外部监控 | 新增"不依赖平台配合"的监管视角 |
> **核心理念:不替代现有系统,在关键节点嵌入验证能力,新增独立监控兜底。**
---
## 十一、关键风险与应对
| 风险 | 发生概率 | 影响 | 应对措施 |
|------|---------|------|---------|
| 平台对接进度滞后 | 中 | 第一层覆盖不全 | 行政强制+分批过渡+第二层重点巡查未对接平台 |
| UGC赋码性能瓶颈 | 中 | 短视频平台上传受阻 | 码段授权+平台本地赋码+异步回传,不依赖实时联网 |
| 水印被技术手段去除 | 低 | 第二层检测难度增大 | 三种检测手段层层兜底,去水印还有指纹识别 |
| 爬虫被网站反爬阻挡 | 中 | 部分网站采集不到 | 多种采集策略;群众举报通道补充 |
| CDN厂商不配合下架 | 低 | 下架不彻底 | 行政处罚;DNS封锁作为最终手段 |
| 误判正常内容为违规 | 中 | 影响正常播出和创作 | 分级处置+人工兜底+申诉通道+阈值持续优化 |
| 存量补码进度滞后 | 中 | 过渡期结束后大量内容被强制下架 | 分批推进+进度监控+必要时延长过渡期 |
| 合理使用界定争议 | 中 | 二创/影评创作者不满 | 界定标准由广电制定+人工审核+申诉机制 |
| 建设成本超出预算 | 低 | 需要追加投入 | 分阶段建设,先验证再扩容,避免一次性大投入 |
| 直播监管实时性不足 | 中 | 违规直播片段已播出 | 片段切片检测+秒级断流+录像事后追责 |
| 水印标准不统一 | 中 | 跨平台检测失败 | 广电制定统一水印标准,强制执行 |
---
## 十二、方案价值总结
| 维度 | 现状 | 本方案实现后 |
|------|------|------------|
| **发现速度** | 人工巡查,天级~周级 | 秒级(平台预防)+ 分钟级(独立监控) |
| **下架速度** | 逐级通知,小时级~天级 | 一键指令,秒级全网下架 |
| **覆盖范围** | 依赖平台配合,UGC基本失管 | 全量覆盖:影视剧+UGC+直播,持证平台+短视频+境外 |
| **追溯能力** | 难以追溯来源 | CC码+水印+指纹,全链路追溯 |
| **对抗能力** | 被动应对 | 水印+指纹+AI三层检测,扛转码/剪辑/去水印 |
| **证据固化** | 人工截图取证 | 自动保存视频片段、截图、检测日志 |
| **UGC管理** | 平台自查,标准不一 | 统一赋码+分级检测+合理使用界定 |
| **存量处理** | 无系统方案 | 分批补码+过渡期安排+重点巡查 |
| **误判处理** | 无申诉渠道 | 分级处置+申诉通道+快速恢复 |
| **运营成本** | 大量人工巡查 | 自动化检测,人工只处理告警和审核 |
| **直播监管** | 基本无实时监管 | 频道/主播级赋码+实时校验+秒级断流 |
---
## 十三、决策建议
1. **尽快启动第一阶段**(第一层平台侧预防),投入小、见效快,3个月即可实现持证平台秒级拦截
2. **同步启动第二层MVP和UGC赋码机制**,UGC是最大的监管盲区,必须尽早覆盖
3. **同步启动存量补码计划**,存量内容量大,越早启动越主动
4. **推动CC码制度法规落地**,技术方案需要政策支撑,平台配合度取决于行政强制力
5. **分阶段扩容**,先验证再投入,避免一次性大规模建设
6. **建立申诉机制**,误判处理是业务领导最关切的实操问题,必须在上线前就绪
7. **第一层+第二层缺一不可**,只有第一层会被绕过,只有第二层下架慢,两层并行才能实现全覆盖、秒级响应
---
## 十四、CC码生命周期管理
CC码不是一次性发放就结束的,每个CC码都有完整的生命周期状态管理:
### 14.1 CC码状态流转
```
申请 → 审核中 → 签发(有效)→ 暂停 → 恢复
│ │
│ └── 下架(永久)
└── 过期(内容下线后自动过期)
```
### 14.2 各状态说明
| 状态 | 含义 | 触发条件 | 平台行为 |
|------|------|---------|---------|
| **审核中** | CC码申请已提交,等待审批 | 内容制作方/平台提交申请 | 内容不得上线 |
| **有效** | CC码已签发,内容可正常传播 | 审核通过 | 正常上传、播出、分发 |
| **暂停** | 临时停止传播,待核实 | 收到举报或检测到疑似违规 | 平台暂停播出,但不删除 |
| **恢复** | 暂停解除,恢复传播 | 核实后确认无违规 | 恢复正常播出 |
| **下架** | 永久停止传播 | 监管方下达下架指令 | 平台立即删除,CDN清除缓存 |
| **过期** | 内容已下线,CC码失效 | 内容自然下线或授权到期 | 平台不得再提供播放 |
### 14.3 状态变更的权限
| 操作 | 谁有权执行 | 生效速度 |
|------|-----------|---------|
| 申请CC码 | 内容制作方/平台代理 | - |
| 审核签发 | 广电总局CC码系统 | 审核通过后即时 |
| 暂停 | 监管方/平台举报 | 秒级 |
| 恢复 | 监管方核实后 | 秒级 |
| 下架 | 监管方 | 秒级全网同步 |
| 过期 | 系统自动(授权到期或内容下线) | 自动触发 |
> CC码生命周期管理确保每个内容从申请到下线的全过程都在监管之下,任何状态变更都有记录可查。
---
## 十五、组织保障与运营机制
### 15.1 运营组织架构
| 角色 | 职责 | 人员配置(建议) |
|------|------|----------------|
| **监管中心** | 统筹CC码签发、下架决策、申诉审核 | 5~8人 |
| **审核团队** | CC码申请审核、误判申诉复核、合理使用界定 | 8~12人 |
| **监控运营团队** | 第二层监控系统运营、告警处理、爬虫策略调整 | 6~10人 |
| **平台对接团队** | 推动各平台对接API、技术支持、进度跟踪 | 4~6人 |
| **技术运维团队** | 系统运维、水印/指纹/AI模型优化 | 6~8人 |
### 15.2 日常运营机制
| 机制 | 频率 | 内容 |
|------|------|------|
| **实时告警处理** | 7×24小时 | 值班人员处理系统告警,决定是否下架 |
| **每日巡检** | 每日 | 检查系统运行状态、爬虫覆盖率、检测准确率 |
| **每周研判** | 每周 | 集中研判疑似违规内容,调整检测阈值 |
| **每月报告** | 每月 | 向领导层提交监管月报:检测量、下架量、平台配合度 |
| **季度评估** | 每季度 | 评估系统效果,优化检测策略,调整平台对接优先级 |
### 15.3 平台考核机制
| 考核维度 | 指标 | 权重 |
|---------|------|------|
| **对接进度** | 是否按计划完成API对接 | 30% |
| **执行效率** | 下架指令执行率、执行速度 | 30% |
| **赋码覆盖率** | 平台内容赋码比例(含存量补码进度) | 20% |
| **违规率** | 平台被发现的违规内容数量 | 20% |
> 考核结果与平台年检、牌照续期挂钩,确保平台有动力配合。
---
## 十六、CC码与现有制度的关系
| 现有制度 | 与CC码的关系 | 说明 |
|---------|-------------|------|
| 网络剧片发行许可证 | **并行衔接** | 影视剧需要许可证+CC码;UGC只需CC码 |
| 信息网络传播视听节目许可证 | **平台级并行** | 平台持此证是前提,CC码是平台必须接入的验证体系 |
| IPTV集成播控牌照 | **天然对接** | 已有TCS-IPTV系统,CC码验证API直接复用 |
| 广播电视节目制作经营许可证 | **内容制作方并行** | 制作方持此证制作内容,内容上线前还需取得CC码 |
| 现有内容审查制度 | **前置环节** | 内容审查通过后,方可申请CC码;CC码系统不替代审查 |
> **核心理念:CC码不替代任何现有制度,而是在现有制度之上增加一个"数字身份证"层,实现从"审批管理"到"实时监管"的升级。**
@@ -0,0 +1,778 @@
# CC码监管最优方案:平台侧API预防(秒级)+ 独立监控兜底(分钟级)
> 版本:V1.0
> 编制日期:2026年7月
> 关联文档:0-req-IPTV.mdTCS-IPTV需求规格)、IPTV系统融合MA码方案介绍.md
---
## 一、方案总览
### 1.1 设计目标
| 目标 | 指标 |
|------|------|
| 持证平台违规内容 | **秒级拦截**(上传/播出环节预防) |
| 已上线违规内容 | **秒级下架**CC码指令全网同步) |
| 不配合平台/UGC | **分钟级发现** + 小时级处置 |
| 境外平台 | **天级封锁**DNS/IP层面) |
| 检测准确率 | 水印提取 ≥95%,指纹匹配 ≥90% |
### 1.2 双层架构
```
┌──────────────────────────────────────────────────────────┐
│ 第一层:平台侧预防 │
│ (秒级,主动拦截) │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌─────────┐ │
│ │ 上传拦截 │ │ 播出校验 │ │ CDN注入 │ │终端抽检 │ │
│ │ (0ms) │ │ (+200ms) │ │ (秒级) │ │(实时) │ │
│ └──────────┘ └──────────┘ └──────────┘ └─────────┘ │
│ │ │ │ │ │
│ └────────────┴────────────┴────────────┘ │
│ │ │
│ 监管API网关(统一入口) │
│ CC码验证 · 哈希比对 · 黑名单查询 │
├──────────────────────────────────────────────────────────┤
│ 第二层:独立监控兜底 │
│ (分钟级,被动发现) │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌─────────┐ │
│ │ 爬虫采集 │ │ 直播旁路 │ │ 水印提取 │ │指纹比对 │ │
│ │ (持续) │ │ (实时) │ │ (秒级) │ │(毫秒级) │ │
│ └──────────┘ └──────────┘ └──────────┘ └─────────┘ │
│ │ │ │ │ │
│ └────────────┴────────────┴────────────┘ │
│ │ │
│ 告警引擎 → 行政通知 → 证据固化 │
└──────────────────────────────────────────────────────────┘
```
### 1.3 两层的关系
| 维度 | 第一层(平台侧预防) | 第二层(独立监控兜底) |
|------|-------------------|---------------------|
| 定位 | 事前预防 + 事中拦截 | 事后发现 + 兜底监管 |
| 时效 | 秒级(0~200ms) | 分钟级(10秒~数小时) |
| 依赖平台配合 | 强依赖 | 不依赖 |
| 覆盖范围 | 持证平台 | 全网 |
| 检测手段 | CC码验证 + 哈希比对 | 水印提取 + 指纹匹配 + AI语义 |
| 执行方式 | 平台自动执行 | 行政通知 + CDN黑名单 |
| 对抗能力 | 平台可绕过(不调API) | 无法绕过(外部独立检测) |
> **核心原则:第一层是防线,第二层是底线。第一层能拦住的不需要第二层介入;第一层被绕过的由第二层兜底。**
---
## 二、第一层:平台侧API预防(秒级)
### 2.1 四道拦截关卡
```
内容生命周期:
CP制作 → 上传平台 → 平台审核 → 入库 → 发布到CDN → 用户播放
拦截关卡:
┌─ 关卡1:上传拦截 ──┐ ┌─ 关卡2:播出校验 ─┐
│ 上传时验证CC码 │ │ 发布前验证CC码 │
│ 无码→拒绝上传 │ │ 码不合法→拒绝发布│
│ 时延:0ms │ │ 时延:0ms │
└──────────────────┘ └──────────────────┘
┌─ 关卡3:CDN注入校验 ─┐ ┌─ 关卡4:终端抽检 ──┐
│ 注入CDN前哈希校验 │ │ 播放时片段哈希抽检│
│ 哈希不匹配→拒绝注入│ │ 不匹配→断流切换 │
│ 时延:秒级 │ │ 时延:实时 │
└──────────────────┘ └──────────────────┘
```
### 2.2 关卡1:上传拦截(事前预防,0ms)
**场景**:用户/CP向平台上传视频时,平台调用监管API验证CC码。
```
用户上传视频
├── 平台提取视频元数据中的CC码
├── 调用监管APIPOST /api/v1/verify/upload
│ Request:
│ {
│ "cc_code": "MA.156.8531.6101/WD/20260000001",
│ "file_hash": "sha256:abc123...",
│ "perceptual_hash": "phash:def456...",
│ "content_meta": {
│ "title": "xxx",
│ "duration": 3600,
│ "resolution": "1920x1080"
│ }
│ }
监管API响应(<100ms
├── { "action": "ALLOW", "cc_code": "valid", "hash_match": true }
│ → 平台允许上传
├── { "action": "DENY", "reason": "CC_CODE_NOT_FOUND" }
│ → 平台拒绝上传,提示"内容未取得CC码,请先完成备案"
├── { "action": "DENY", "reason": "HASH_MISMATCH" }
│ → 平台拒绝上传,提示"内容哈希与登记不符,疑似版本替换"
├── { "action": "DENY", "reason": "CC_CODE_REVOKED" }
│ → 平台拒绝上传,提示"该内容CC码已被吊销"
└── { "action": "QUARANTINE", "reason": "CC_CODE_NOT_FOUND", "suggestion": "ENTER_REVIEW" }
→ 平台允许暂存但不可发布,进入人工审核流程
```
**关键设计**
- 平台在上传页面嵌入CC码验证SDK,上传前先验证
- 无CC码的内容不进入可发布状态(暂存区→人工审核→备案→发布)
- 验证API响应时间 <100msRedis缓存 + PostgreSQL索引)
### 2.3 关卡2:播出校验(事中拦截,+200ms)
**场景**:用户请求播放视频时,平台在返回播放地址前验证CC码状态。
```
用户点击播放
├── 平台向监管API查询CC码实时状态
│ GET /api/v1/verify/playback?cc_code={cc_code}
监管API响应(<50msRedis缓存)
├── { "status": "ACTIVE" }
│ → 正常返回播放地址
├── { "status": "SUSPENDED", "action": "BLOCK" }
│ → 返回"该内容已被监管要求下架"
└── { "status": "REVOKED", "action": "BLOCK" }
→ 返回"该内容播出许可已被吊销"
```
**关键设计**
- 平台播放器在请求播放地址时同步查询CC码状态
- CC码状态变更(下架/吊销)通过WebSocket实时推送到平台
- 查询走Redis缓存,命中率 >99%,响应 <50ms
- 用户感知延迟 <200ms(含网络往返)
### 2.4 关卡3:CDN注入校验(已有需求,对应需求7)
**场景**:运营商向CDN注入内容前,校验哈希。
```
运营商接收发布内容
├── 计算注入文件哈希(SHA-256)
├── 调用监管APIPOST /api/v1/verify/cdn-inject
│ {
│ "cc_code": "MA.156.8531.6101/WD/20260000001",
│ "file_hash": "sha256:abc123...",
│ "cdn_endpoint": "cdn001.operator.com"
│ }
├── 哈希匹配 → 允许注入CDN → 注册分发编码
└── 哈希不匹配 → 拒绝注入 → 告警 → 退回审核部门
```
### 2.5 关卡4:终端播放抽检(已有需求,对应需求8)
**场景**:播放器/机顶盒在播放时抽检片段哈希。
```
播放器下载片段
├── 计算片段哈希
├── 与可信数据空间链上哈希比对
├── 匹配 → 正常播放
└── 不匹配 → 断流 → 切换备用源 → 上报异常
```
### 2.6 应急下架指令链路(秒级全网同步)
**场景**:监管方下发CC码下架指令,秒级同步到全网。
```
监管方下发指令:"下架 CC码 MA.156.8531.6101/WD/20260000001"
│ ← T0
TCS-IPTV系统解析CC码
│ 查询该CC码绑定的所有:
│ ├── 媒资编码 → 媒体资源库
│ ├── 分发编码 → 各运营商CDN
│ ├── 审核流水号 → CSPS
│ └── 各平台内容ID
│ ← T0+10ms
并行下发执行指令
├── → 媒体资源库:撤除发布状态 ← T0+100ms
├── → 运营商A CDN:删除缓存+下线URL ← T0+100ms
├── → 运营商B CDN:删除缓存+下线URL ← T0+100ms
├── → 持证平台A:标记内容下架 ← T0+100ms
├── → 持证平台B:标记内容下架 ← T0+100ms
└── → CDN黑名单推送:全局拦截 ← T0+200ms
全网下架完成
← T0+1~3秒(取决于各节点网络延迟)
```
**技术实现**
| 机制 | 说明 | 时延 |
|------|------|------|
| WebSocket长连接 | TCS与各平台/运营商保持长连接,指令实时推送 | 100ms |
| Redis Pub/Sub | CC码状态变更广播到所有订阅节点 | 50ms |
| CDN API对接 | 调用各CDN的Purge API清除缓存 | 200ms~1s |
| 播出校验联动 | 关卡2的播出校验会自动拦截已下架CC码 | 实时 |
| 兜底轮询 | 未保持长连接的节点每5秒轮询CC码状态 | ≤5秒 |
### 2.7 监管API接口清单
| 接口 | 方法 | 调用方 | 时延要求 | 说明 |
|------|------|--------|---------|------|
| `/api/v1/verify/upload` | POST | 平台上传服务 | <100ms | 上传时CC码+哈希验证 |
| `/api/v1/verify/playback` | GET | 平台播放服务 | <50ms | 播出时CC码状态查询 |
| `/api/v1/verify/cdn-inject` | POST | 运营商CDN | <200ms | CDN注入哈希校验 |
| `/api/v1/verify/terminal` | POST | 终端播放器SDK | <100ms | 终端片段哈希抽检 |
| `/api/v1/takedown/issue` | POST | 监管方 | - | 下发下架指令 |
| `/api/v1/takedown/status` | GET | 各执行方 | <50ms | 查询下架执行状态 |
| `/api/v1/cc-code/lookup` | GET | 各方 | <50ms | CC码信息查询 |
| `/api/v1/blacklist/push` | POST | 监管方→CDN | - | 推送CDN黑名单 |
| `ws:/api/v1/events` | WS | 各平台/运营商 | 实时 | CC码状态变更实时推送 |
---
## 三、第二层:独立监控兜底(分钟级)
### 3.1 适用场景
第二层在以下场景触发:
| 场景 | 第一层状态 | 第二层动作 |
|------|-----------|-----------|
| 持证平台绕过API直接上传 | 关卡1被绕过 | 爬虫发现 → 水印/指纹检测 → 告警 |
| 平台未对接监管API | 第一层缺失 | 爬虫发现 → 检测 → 行政通知 |
| UGC二次创作传播 | 不经过上传校验 | 爬虫发现 → 指纹匹配 → 告警 |
| 境外平台传播 | 无法要求配合 | 爬虫发现 → 检测 → DNS封锁 |
| 直播违规内容 | 播出校验未覆盖 | 旁路录制 → 实时检测 → 告警 |
| 水印被恶意去除 | 所有关卡失效 | 指纹匹配 + AI语义 → 告警 |
### 3.2 采集层
#### 3.2.1 爬虫采集
```
┌─────────────────────────────────────────┐
│ 爬虫任务调度中心 │
│ │
│ ┌─────────────┐ ┌─────────────┐ │
│ │ 站点配置表 │ │ 任务队列 │ │
│ │ (Redis) │ │ (Kafka) │ │
│ └──────┬──────┘ └──────┬──────┘ │
│ │ │ │
│ ┌──────┴────────────────┴──────┐ │
│ │ 爬虫Worker集群 │ │
│ │ (Playwright无头浏览器) │ │
│ │ │ │
│ │ ├── 页面渲染 + JS执行 │ │
│ │ ├── 视频地址嗅探 │ │
│ │ │ (拦截m3u8/mp4/flv请求) │ │
│ │ ├── 反爬处理 │ │
│ │ │ (UA轮换/代理池/限速) │ │
│ │ └── 去重过滤 │ │
│ │ (URL指纹 + 内容指纹) │ │
│ └──────────┬────────────────────┘ │
│ │ │
│ ▼ │
│ 输出: {url, title, platform, stream_url, │
│ duration, upload_time, uploader} │
│ → Kafka topic: raw-video-tasks │
└─────────────────────────────────────────┘
```
**站点分级策略**
| 级别 | 站点类型 | 轮巡频率 | 并发数 | 示例 |
|------|---------|---------|--------|------|
| P0 | 头部视频平台 | 5分钟 | 20 | 爱奇艺/腾讯/优酷/B站 |
| P1 | 中型平台 | 30分钟 | 10 | 芒果/搜狐/西瓜视频 |
| P2 | 短视频平台 | 15分钟 | 15 | 抖音/快手/小红书 |
| P3 | 长尾站点 | 2小时 | 5 | 各类小视频站/论坛 |
| P4 | 境外平台 | 1小时 | 5 | YouTube等(通过代理) |
#### 3.2.2 直播旁路录制
```
┌─────────────────────────────────────────┐
│ 直播旁路录制引擎 │
│ │
│ ┌─────────────┐ ┌─────────────┐ │
│ │ 频道配置表 │ │ 录制Worker │ │
│ │ │ │ (FFmpeg) │ │
│ │ 卫星频道 │→ │ │ │
│ │ 有线频道 │→ │ ffmpeg -i │ │
│ │ 网络直播 │→ │ {url} │ │
│ │ │ │ -c copy │ │
│ │ │ │ -f segment│ │
│ │ │ │ -seg_time │ │
│ │ │ │ 300 │ │
│ └─────────────┘ └──────┬──────┘ │
│ │ │
│ 切片输出 │
│ (每5分钟一个mp4) │
│ │ │
│ ▼ │
│ Kafka topic: live-tasks │
└─────────────────────────────────────────┘
```
### 3.3 检测层
#### 3.3.1 三级检测流水线
```
输入视频
├─────────────────────────────────────────────┐
▼ ▼
路径A:快速检测(CPU,毫秒级) 路径B:深度检测(GPU,秒级)
│ │
├── 第1步:元数据提取 ├── 第2步:水印提取
│ ffprobe提取CC码元数据 │ DCT频域水印提取
│ (moov box / EXT-X-CC-CODE) │ 多帧冗余提取 + 多数投票
│ 时延:100ms │ 时延:2~5秒/30秒片段
│ │
├── 找到CC码? ├── 找到CC码?
│ ├── 是 → 验证码合法性 → 判定 │ ├── 是 → 验证 → 判定
│ └── 否 → 进入路径B │ └── 否 → 进入第3步
│ │
│ ├── 第3步:内容指纹匹配
│ │ pHash + DTW时序对齐
│ │ 时延:50ms
│ │
│ ├── 指纹匹配?
│ │ ├── 是 → 关联CC码 → 判定
│ │ └── 否 → 进入第4步
│ │
│ └── 第4步:AI语义匹配(兜底)
│ CLIP特征 + 向量检索
│ 时延:30秒/分钟视频
▼ ▼
决策层(合并A/B路径结果)
```
#### 3.3.2 水印提取算法
```python
class WatermarkExtractor:
"""
DCT频域水印提取器
嵌入位置:8x8 DCT块的中频系数
嵌入方式:QIM (Quantization Index Modulation)
冗余度:同一CC码在视频中重复嵌入,每30帧一个嵌入周期
"""
def __init__(self, secret_key: bytes):
self.key = secret_key # 监管方持有的水印密钥
self.block_size = 8
self.sample_interval = 30 # 每30帧采样
self.embed_positions = self._derive_positions() # 密钥派生嵌入位置
def extract(self, video_path: str) -> Optional[str]:
# 1. 解码为YUV帧序列
frames = self._decode_video(video_path)
# 2. 采样帧
sampled = frames[::self.sample_interval]
# 3. 逐帧提取水印比特
bit_accumulator = defaultdict(list)
for frame in sampled:
y_channel = frame[:, :, 0] # 亮度通道
# 分块DCT
for block in self._split_blocks(y_channel):
dct_block = cv2.dct(block.astype(np.float32))
# 从中频系数提取比特
for pos in self.embed_positions:
bit = self._extract_bit_qim(dct_block[pos[0], pos[1]])
bit_accumulator[pos].append(bit)
# 4. 多数投票解码
raw_bits = self._majority_vote(bit_accumulator)
# 5. ECC纠错解码
decoded = self._ecc_decode(raw_bits)
# 6. CRC校验
if not self._crc_check(decoded):
return None # 水印损坏或不存在
# 7. HMAC验证
cc_code = self._parse_cc_code(decoded)
if not self._hmac_verify(cc_code, self.key):
return None # 伪造水印
return cc_code
```
#### 3.3.3 内容指纹匹配
```python
class VideoFingerprintMatcher:
"""
视频内容指纹匹配器
指纹:关键帧pHash序列
匹配:汉明距离初筛 + DTW时序对齐
"""
def fingerprint(self, video_path: str) -> dict:
# 1. 降采样
frames = self._decode_downsample(video_path, size=(64, 64), gray=True)
# 2. 关键帧检测(场景切换点)
keyframe_indices = self._detect_keyframes(frames)
# 3. 计算关键帧pHash
keyframe_hashes = []
for idx in keyframe_indices:
phash = self._compute_phash(frames[idx])
keyframe_hashes.append(phash)
# 4. 计算视频级聚合哈希
avg_hash = self._compute_avg_hash(frames)
return {
'keyframe_hashes': keyframe_hashes,
'avg_hash': avg_hash,
'duration': self._get_duration(video_path),
'keyframe_count': len(keyframe_hashes)
}
def match(self, video_fp: dict, database) -> Optional[dict]:
# 1. avg_hash初筛(汉明距离<12
candidates = database.search_by_avg_hash(
video_fp['avg_hash'],
hamming_threshold=12
)
if not candidates:
return None
# 2. 关键帧序列DTW对齐
best_match = None
best_score = 0
for candidate in candidates:
score = self._dtw_align(
video_fp['keyframe_hashes'],
candidate['keyframe_hashes']
)
if score > best_score:
best_score = score
best_match = candidate
# 3. 阈值判定
if best_score > 0.85:
return {
'cc_code': best_match['cc_code'],
'similarity': best_score,
'matched_title': best_match['title']
}
return None
```
### 3.4 决策与告警层
#### 3.4.1 决策矩阵
| 检测路径 | 结果 | 判定 | 动作 | 时效 |
|---------|------|------|------|------|
| 元数据 | CC码合法 | 正版传播 | 记录备案 | 秒级 |
| 元数据 | CC码不合法 | 伪造/篡改 | 告警+取证 | 秒级 |
| 水印 | CC码合法 | 正版传播 | 记录备案 | 秒级 |
| 水印 | CC码不合法 | 伪造CC码 | 告警+取证+行政通知 | 秒级 |
| 水印 | 无水印 | 疑似未登记 | 进入指纹匹配 | 秒级 |
| 指纹 | 匹配已登记CC码 | 疑似去水印传播 | 告警+取证+行政通知 | 毫秒级 |
| 指纹 | 未匹配 | 进入AI匹配 | - | 毫秒级 |
| AI语义 | 匹配 | 疑似深度篡改/混剪 | 告警+人工审核 | 分钟级 |
| AI语义 | 未匹配 | 未登记内容 | 进入备案审核流程 | 分钟级 |
#### 3.4.2 告警分级
| 级别 | 判定 | 通知方式 | 响应时效 |
|------|------|---------|---------|
| **P0-紧急** | 伪造CC码 + 大规模传播 | 电话+短信+API推送 | 立即 |
| **P1-高危** | 去水印传播 + 已登记内容 | 短信+API推送 | 5分钟内 |
| **P2-中危** | 未登记内容 + 疑似违规 | API推送+邮件 | 30分钟内 |
| **P3-低危** | 未登记内容 + 无明显违规 | 邮件+日报 | 24小时内 |
#### 3.4.3 证据固化
```json
{
"alert_id": "ALT-20260720-001234",
"level": "P1",
"timestamp": "2026-07-20T20:15:00Z",
"source": {
"type": "web_crawler",
"platform": "example.com",
"url": "https://example.com/video/12345",
"crawler_node": "crawler-03"
},
"video_info": {
"title": "xxx",
"duration": 3600,
"resolution": "1920x1080",
"format": "mp4"
},
"detection_result": {
"metadata_cc_code": null,
"watermark_cc_code": null,
"fingerprint_match": {
"matched": true,
"cc_code": "MA.156.8531.6101/WD/20260000001",
"similarity": 0.92,
"matched_title": "原始登记标题"
},
"ai_match": "skipped"
},
"verdict": "SUSPECTED_WATERMARK_REMOVAL",
"evidence": {
"video_clip": "/evidence/ALT-20260720-001234/clip.mp4",
"screenshot": "/evidence/ALT-20260720-001234/screenshot.jpg",
"fingerprint_diff": "/evidence/ALT-20260720-001234/diff.json",
"detection_log": "/evidence/ALT-20260720-001234/log.txt"
},
"actions": [
{ "action": "notify_platform", "status": "sent", "timestamp": "..." },
{ "action": "notify_regulator", "status": "sent", "timestamp": "..." },
{ "action": "preserve_evidence", "status": "done", "timestamp": "..." }
]
}
```
---
## 四、两层协同机制
### 4.1 正常流程(第一层生效)
```
CP上传内容 → 关卡1验证CC码 → 通过 → 平台审核 → 关卡2播出校验 → CDN注入校验 → 用户播放
终端抽检(关卡4)
一切正常,无需第二层介入
```
### 4.2 绕过场景(第二层兜底)
```
场景A:平台未对接API
内容上传 → 平台未验证CC码 → 内容上线
第二层爬虫发现 → 检测 → 告警 → 行政通知平台下架
场景B:持证平台绕过API
内容上传 → 平台跳过CC码验证 → 内容上线
第二层爬虫发现 → 检测 → 告警 → 追责平台
场景CUGC二次创作
用户剪辑正版内容 → 上传到短视频平台 → 内容上线
第二层爬虫发现 → 指纹匹配 → 判定是否侵权
场景D:水印被去除
内容被去水印处理 → 上传 → 平台无法验证CC码
第二层爬虫发现 → 指纹匹配 → 告警
```
### 4.3 下架指令协同
```
监管方下发下架指令
├── 第一层:秒级同步
│ ├── WebSocket推送 → 持证平台自动下架(秒级)
│ ├── CDN Purge API → CDN缓存清除(秒级)
│ ├── Redis状态更新 → 播出校验自动拦截(实时)
│ └── CDN黑名单推送 → 全局URL拦截(秒级)
└── 第二层:验证下架效果
├── 爬虫轮巡目标URL → 确认是否已下架
├── 已下架 → 记录确认
├── 未下架 → 升级告警(平台未执行指令)
└── 持续监控 → 防止重新上架
```
### 4.4 数据回流
```
第二层检测发现的内容
├── 已登记CC码但未在平台备案 → 回流到TCS-IPTV → 补登记
├── 未登记内容 → 进入备案审核流程 → 补发CC码
├── 伪造CC码 → 回流到TCS → 标记伪造 → 追查来源
└── 去水印传播 → 回流到TCS → 记录侵权证据 → 追责
```
---
## 五、技术架构
### 5.1 系统部署架构
```
┌─────────────────────────────────────────────────────────────┐
│ TCS-IPTV 核心(已有) │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌────────────┐ │
│ │ 标识服务 │ │ 验真服务 │ │ MA管理 │ │ 可信数据空间│ │
│ └──────────┘ └──────────┘ └──────────┘ └────────────┘ │
│ │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ 监管API网关(第一层) │ │
│ │ /verify/upload /verify/playback /verify/cdn-inject │ │
│ │ /takedown/issue /blacklist/push ws:/events │ │
│ └──────────────────────────────────────────────────────┘ │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ 独立监控系统(第二层,新增) │ │
│ │ │ │
│ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │
│ │ │ 爬虫集群 │ │ 录制引擎 │ │ 检测集群 │ │ │
│ │ │ (K8s) │ │ (K8s) │ │ (GPU K8s)│ │ │
│ │ └──────────┘ └──────────┘ └──────────┘ │ │
│ │ │ │
│ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │
│ │ │ 告警引擎 │ │ 证据存储 │ │ 下架验证 │ │ │
│ │ └──────────┘ └──────────┘ └──────────┘ │ │
│ └──────────────────────────────────────────────────────┘ │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ 基础设施层 │ │
│ │ │ │
│ │ PostgreSQL │ Redis │ Kafka │ Elasticsearch │ │
│ │ Milvus(向量) │ MinIO(视频/证据) │ K8s集群 │ │
│ └──────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
```
### 5.2 第一层资源需求(增量)
| 组件 | 规格 | 数量 | 说明 |
|------|------|------|------|
| API网关 | 4核8GB | 3节点 | 高可用,负载均衡 |
| Redis | 8核32GB | 3节点 | CC码状态缓存,主从+哨兵 |
| WebSocket推送 | 2核4GB | 2节点 | 长连接管理 |
| **合计** | | | **~20核/40GB增量** |
> 第一层资源需求很小,因为验证逻辑轻量,主要依赖已有的TCS-IPTV核心系统。
### 5.3 第二层资源需求(分阶段)
| 阶段 | GPU | CPU | 内存 | 存储 | 带宽 | 月成本 |
|------|-----|-----|------|------|------|--------|
| MVP | 0 | 64核 | 128GB | 20TB | 200Mbps | ¥2~3万 |
| 中等 | 10×T4 | 128核 | 256GB | 50TB | 500Mbps | ¥6~8万 |
| 全量 | 30×T4 | 256核 | 512GB | 150TB | 1Gbps | ¥12~15万 |
> 第二层通过智能调度(粗筛先行、夜间批量、弹性伸缩)可降低40%资源消耗。
---
## 六、分阶段实施计划
### 第一阶段:平台侧API预防(对已有TCS-IPTV扩展)
| 任务 | 周期 | 依赖 |
|------|------|------|
| 监管API网关开发 | 4周 | TCS-IPTV核心 |
| 上传验证接口 | 2周 | API网关 |
| 播出校验接口 | 2周 | API网关 |
| WebSocket实时推送 | 2周 | API网关 |
| 应急下架指令链路 | 3周 | WebSocket + CDN API |
| 平台对接(1~2家试点) | 4周 | 接口就绪 |
| **小计** | **~12周** | |
### 第二阶段:独立监控MVP
| 任务 | 周期 | 依赖 |
|------|------|------|
| 爬虫采集管线 | 4周 | K8s + Kafka |
| 水印嵌入/提取原型 | 6周 | 水印算法选型 |
| 指纹匹配引擎 | 3周 | Milvus部署 |
| 检测流水线编排 | 2周 | 爬虫 + 水印 + 指纹 |
| 告警+证据固化 | 2周 | 检测流水线 |
| **小计** | **~12周** | |
### 第三阶段:检测规模化
| 任务 | 周期 | 依赖 |
|------|------|------|
| GPU集群部署 | 2周 | MVP验证通过 |
| 直播旁路录制 | 3周 | FFmpeg + K8s |
| AI语义匹配 | 4周 | CLIP模型 + Milvus |
| 对抗加固测试 | 4周 | 全检测链路 |
| 下架验证回路 | 2周 | 第一层 + 第二层 |
| **小计** | **~12周** | |
### 第四阶段:全量上线
| 任务 | 周期 | 依赖 |
|------|------|------|
| 全平台对接推广 | 8周 | 行政要求下发 |
| 弹性伸缩调优 | 2周 | 全量负载 |
| 监管大屏集成 | 3周 | 已有需求10 |
| 运营体系建设 | 4周 | 全系统 |
| **小计** | **~12周** | |
> **总周期约12个月**,第一层可在3个月内上线,第二层MVP在6个月内跑通。
---
## 七、与已有TCS-IPTV需求的对应关系
| 已有需求 | 本方案对应模块 | 增强点 |
|---------|-------------|--------|
| 需求3:CC码生成签发 | 第一层验证基础 | CC码作为验证主键 |
| 需求4:送审文件验真 | 第一层关卡1(上传拦截) | 从送审扩展到平台上传 |
| 需求7:CDN注入校验 | 第一层关卡3 | 已有,无需改动 |
| 需求8:终端播放抽检 | 第一层关卡4 | 已有,无需改动 |
| 需求11:违规应急下架 | 第一层下架指令链路 | 增加WebSocket实时推送+CDN黑名单 |
| 需求10:全生命周期监管 | 第二层独立监控 | 新增外部监控维度 |
| 需求9:统一维度数据上报 | 第二层数据回流 | 检测数据回流到TCS |
---
## 八、关键风险与应对
| 风险 | 影响 | 应对 |
|------|------|------|
| 持证平台不配合对接API | 第一层失效 | 行政强制要求 + 第二层兜底 |
| 水印被AI去除 | 第二层检测失效 | 多算法混合嵌入 + 指纹匹配兜底 + AI语义兜底 |
| 爬虫被反爬阻挡 | 第二层采集缺失 | 代理池 + 多策略 + 举报通道补充 |
| CDN厂商不配合黑名单 | 下架不彻底 | 行政处罚 + DNS封锁兜底 |
| 误判率过高 | 正常内容被拦截 | 人工审核兜底 + 阈值可调 + 申诉通道 |
| 资源成本超预算 | 系统无法全量运行 | 分阶段建设 + 智能调度降本 |
+36 -36
View File
@@ -10,10 +10,10 @@ IPTV内容流转涉及CP(内容供应商)、IPTV集成播控平台、运营
- 跨省跨运营商复用几乎要重新走全流程
### 1.2 核心目标
建立**"监管身份+技术指纹"双锚定机制**,以MA码为监管主键、哈希码为技术指纹,实现:
建立**"监管身份+技术指纹"双锚定机制**,以CC码为监管主键、哈希码为技术指纹,实现:
- **审播一致**:送审版=播出版,任何篡改秒级识别
- **一码通行**:一省过审,全网凭MA码+哈希准入
- **精准溯源**:出问题凭MA码秒级定位三方系统
- **一码通行**:一省过审,全网凭CC码+哈希准入
- **精准溯源**:出问题凭CC码秒级定位三方系统
- **数据可信**:播放量、结算、上报以统一标识聚合
### 1.3 设计原则
@@ -32,7 +32,7 @@ IPTV内容流转涉及CP(内容供应商)、IPTV集成播控平台、运营
┌─────────────────────────────────────────────────────────────┐
│ 监管侧(广电总局/省局) │
│ 网络剧片发行许可证系统 / 备案系统 │
│ ↓ 签发MA码 │
│ ↓ 签发CC码 │
├─────────────────────────────────────────────────────────────┤
│ CP端 播控平台端 运营商端 │
│ (内容供应商) (集成播控) (分发网络) │
@@ -46,7 +46,7 @@ IPTV内容流转涉及CP(内容供应商)、IPTV集成播控平台、运营
│ │ │
│ ┌──────────┴──────────┐ │
│ │ 可信数据空间(区块链) │ │
│ │ MA码↔哈希↔三方编码映射 │ │
│ │ CC码↔哈希↔三方编码映射 │ │
│ └─────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
```
@@ -56,7 +56,7 @@ IPTV内容流转涉及CP(内容供应商)、IPTV集成播控平台、运营
| 层级 | 功能 | 技术组件 |
|------|------|---------|
| **接入层** | 三方系统对接、文件上传、哈希计算 | 哈希计算SDK、API网关、文件切片服务 |
| **可信层** | MA码与哈希绑定、存证、映射查询 | 联盟链(或分布式账本)、智能合约、Merkle Tree存储 |
| **可信层** | CC码与哈希绑定、存证、映射查询 | 联盟链(或分布式账本)、智能合约、Merkle Tree存储 |
| **应用层** | 审核验真、分发校验、终端抽检、数据上报 | 审核工作台、CDN注入校验、播放器SDK、监管大屏 |
---
@@ -77,7 +77,7 @@ CTID = {
```
**绑定规则**
- MA码由广电总局/省局签发,代表**合法身份**
- CC码由广电总局/省局签发,代表**合法身份**
- 哈希码由内容本体计算,代表**数据真实性**
- 两者在可信数据空间中**1:1强绑定**,不可解绑
- 内容任何帧级变动 → 哈希变化 → 绑定断裂 → 需重新送审
@@ -114,12 +114,12 @@ CTID = {
- **哈希值包**(含Merkle Tree根哈希)
- 系统返回**送审流水号**
**Step 3:审核通过与MA码签发**
**Step 3:审核通过与CC码签发**
- 省级广电/广电总局审核内容
- 审核通过后,系统:
- 签发MA码(或备案号)
- **将MA码与送审哈希包绑定写入可信数据空间**
- CP获得"MA码+哈希证书",方可进入播控平台
- 签发CC码(或备案号)
- **将CC码与送审哈希包绑定写入可信数据空间**
- CP获得"CC码+哈希证书",方可进入播控平台
---
@@ -127,7 +127,7 @@ CTID = {
**Step 4:送审文件验真**
- CP向播控平台送审,提交:
- MA
- CC
- 送审文件(母版或播出版)
- 授权链文件
- 播控平台**计算送审文件哈希**,查询可信数据空间:
@@ -138,16 +138,16 @@ CTID = {
- 播控平台对内容进行合规审核(政治、色情、暴力等)
- 审核通过后,如需转码(H.264/H.265/4K/HD多版本):
- 由**授权转码中心**执行,转码后重新计算各版本文件哈希
- 生成"转码版哈希证书",与MA码绑定,写入可信数据空间
- 生成"转码版哈希证书",与CC码绑定,写入可信数据空间
- 原母版哈希与转码版哈希建立父子关系
**Step 6EPG编排与编码映射**
- 播控平台将内容纳入EPG,内部保留自有审核流水号
- 在可信数据空间中建立映射:
```
播控流水号 ↔ MA码 ↔ 文件哈希 ↔ 转码版哈希
播控流水号 ↔ CC码 ↔ 文件哈希 ↔ 转码版哈希
```
- 向运营商分发时,**必须携带MA码+哈希证书**
- 向运营商分发时,**必须携带CC码+哈希证书**
---
@@ -156,7 +156,7 @@ CTID = {
**Step 7CDN注入校验**
- 运营商收到播控平台分发内容,注入CDN前:
- 计算注入文件哈希
- 查询可信数据空间,比对MA码绑定的哈希
- 查询可信数据空间,比对CC码绑定的哈希
- 匹配 → 注入CDN,生成分发编码
- 不匹配 → 拒绝注入,告警退回播控平台
@@ -168,7 +168,7 @@ CTID = {
- (此步骤为增强安全,可根据网络负载策略性开启)
**Step 9:数据上报**
- 运营商上报播出数据时,以MA码为统一维度
- 运营商上报播出数据时,以CC码为统一维度
- 可信数据空间聚合三方数据(CP播放量、播控审核量、运营商分发量),口径一致
---
@@ -176,15 +176,15 @@ CTID = {
### 4.4 第四阶段:监管与应急
**Step 10:全生命周期监管**
- 广电总局/省局通过监管大屏,按MA码查询内容全链路状态:
- 广电总局/省局通过监管大屏,按CC码查询内容全链路状态:
- 当前在哪个播控平台
- 当前在哪个运营商CDN
- 当前哈希版本是否最新
- 历史版本变更记录
**Step 11:违规应急下架**
- 监管部门下发指令:"下架MA码(京)网微剧审字(2025)第XXX号"
- 可信数据空间解析MA码 → 查询所有绑定的三方编码
- 监管部门下发指令:"下架CC码(京)网微剧审字(2025)第XXX号"
- 可信数据空间解析CC码 → 查询所有绑定的三方编码
- 指令自动翻译为:
- 播控平台:下架审核流水号XXX
- 运营商:下架分发编码YYY、CDN资源ZZZ
@@ -308,10 +308,10 @@ def compute_content_hash(file_path, segment_size=10*1024*1024):
// 伪代码:Solidity风格
contract ContentRegistry {
mapping(string => Content) public contents; // MA码 => 内容
mapping(string => Content) public contents; // CC码 => 内容
struct Content {
string maCode;
string ccCode;
string merkleRoot;
string perceptualHash;
mapping(string => string) partyMappings; // 三方编码映射
@@ -319,20 +319,20 @@ contract ContentRegistry {
}
// 仅监管节点可调用
function issueMA(string memory maCode, string memory merkleRoot) public {
function issueMA(string memory ccCode, string memory merkleRoot) public {
require(isRegulator(msg.sender), "Only regulator");
contents[maCode] = Content(maCode, merkleRoot, "", true);
contents[ccCode] = Content(ccCode, merkleRoot, "", true);
}
// CP/播控/运营商注册映射
function registerMapping(string memory maCode, string memory party, string memory partyId) public {
require(contents[maCode].isActive, "MA not issued");
contents[maCode].partyMappings[party] = partyId;
function registerMapping(string memory ccCode, string memory party, string memory partyId) public {
require(contents[ccCode].isActive, "MA not issued");
contents[ccCode].partyMappings[party] = partyId;
}
// 哈希校验
function verifyHash(string memory maCode, string memory fileHash) public view returns (bool) {
return keccak256(abi.encodePacked(contents[maCode].merkleRoot))
function verifyHash(string memory ccCode, string memory fileHash) public view returns (bool) {
return keccak256(abi.encodePacked(contents[ccCode].merkleRoot))
== keccak256(abi.encodePacked(fileHash));
}
}
@@ -348,7 +348,7 @@ contract ContentRegistry {
├── 转码版B哈希(H.264 HD)
└── 转码版C哈希(H.264 SD)
```
- 所有转码版共享同一MA码,但各自有独立哈希记录
- 所有转码版共享同一CC码,但各自有独立哈希记录
- 运营商注入任一版本时,校验对应版本哈希
---
@@ -430,7 +430,7 @@ Response:
### 8.1 角色权限矩阵
| 角色 | 签发MA码 | 注册哈希 | 验真查询 | 映射管理 | 应急下架 |
| 角色 | 签发CC码 | 注册哈希 | 验真查询 | 映射管理 | 应急下架 |
|------|---------|---------|---------|---------|---------|
| 广电总局/省局 | ✅ | ✅ | ✅ | ✅ | ✅ |
| 播控平台 | ❌ | ❌ | ✅ | ✅(本方) | ❌(执行指令) |
@@ -445,19 +445,19 @@ Response:
| 哈希不匹配(CDN注入) | 拒绝注入,告警播控平台,暂停该内容分发 |
| 哈希不匹配(终端抽检) | 断流并切换至备用源,上报异常日志 |
| 版本变更(剪辑/修改) | 必须重新计算哈希,提交变更申请,触发重新审核 |
| CP换壳重发(同一哈希) | 系统识别哈希已存在,拒绝重复申报,关联原MA码 |
| CP换壳重发(同一哈希) | 系统识别哈希已存在,拒绝重复申报,关联原CC码 |
### 8.3 跨省复用流程
```
A省过审取得MA码 + 哈希证书
A省过审取得CC码 + 哈希证书
CP向B省播控平台送审,仅提交:
- MA
- CC
- 哈希证书(无需重新提交内容文件)
B省播控平台查询可信数据空间:
- 验证MA码真实有效
- 验证CC码真实有效
- 验证哈希与A省过审版一致
- 确认内容未在黑名单
@@ -495,4 +495,4 @@ B省播控平台快速准入(内容审核可简化为合规性抽检)
---
**总结**:这套方案的核心不是让三方放弃自己的系统,而是在三方系统之上建立一层**"可信身份映射层"**——用MA码解决"是谁"的监管问题,用哈希码解决"是不是"的技术问题,用可信数据空间解决"在哪"的溯源问题。三者叠加,IPTV内容才能真正实现"审过即锁定,锁定即通行,通行可追溯"。
**总结**:这套方案的核心不是让三方放弃自己的系统,而是在三方系统之上建立一层**"可信身份映射层"**——用CC码解决"是谁"的监管问题,用哈希码解决"是不是"的技术问题,用可信数据空间解决"在哪"的溯源问题。三者叠加,IPTV内容才能真正实现"审过即锁定,锁定即通行,通行可追溯"。
+27 -27
View File
@@ -25,13 +25,13 @@
<!-- 标题 -->
<rect x="0" y="0" width="1700" height="78" fill="url(#chainGrad)"/>
<text x="850" y="34" text-anchor="middle" fill="white" font-size="23" font-weight="bold">TCS-IPTV 内容可信锁定系统 · 总体线框图</text>
<text x="850" y="60" text-anchor="middle" fill="#b3c5ff" font-size="13">MA码(监管身份)+ 哈希码(技术指纹)双锚定 · 不替代现有系统,在三方之上建立"可信身份映射层"</text>
<text x="850" y="60" text-anchor="middle" fill="#b3c5ff" font-size="13">CC码(监管身份)+ 哈希码(技术指纹)双锚定 · 不替代现有系统,在三方之上建立"可信身份映射层"</text>
<!-- ============ 监管层 ============ -->
<rect x="40" y="100" width="1620" height="150" rx="10" fill="#fff5f5" stroke="#c62828" stroke-width="2"/>
<rect x="40" y="100" width="1620" height="34" rx="10" fill="url(#regGrad)"/>
<text x="60" y="123" fill="white" font-size="15" font-weight="bold">① 监管侧 — 广电总局 / 省级广电局(监管主键签发方 · 价值核心)</text>
<text x="1640" y="123" text-anchor="end" fill="#ffcdd2" font-size="11">★ 唯一拥有 MA码签发权 与 应急下架权</text>
<text x="1640" y="123" text-anchor="end" fill="#ffcdd2" font-size="11">★ 唯一拥有 CC码签发权 与 应急下架权</text>
<!-- 监管子系统 -->
<g>
@@ -52,29 +52,29 @@
<!-- 新建: MA签发与监管大屏 -->
<g>
<rect x="700" y="148" width="290" height="88" rx="6" fill="#ffebee" stroke="#c62828" stroke-width="2" stroke-dasharray="5,3"/>
<text x="845" y="168" text-anchor="middle" font-size="12" font-weight="bold" fill="#b71c1c">MA码签发引擎(新建)</text>
<text x="845" y="187" text-anchor="middle" font-size="10" fill="#555">审核通过 → 签发MA</text>
<text x="845" y="203" text-anchor="middle" font-size="10" fill="#555">MA码 ↔ 哈希包 强绑定上链</text>
<text x="845" y="168" text-anchor="middle" font-size="12" font-weight="bold" fill="#b71c1c">CC码签发引擎(新建)</text>
<text x="845" y="187" text-anchor="middle" font-size="10" fill="#555">审核通过 → 签发CC</text>
<text x="845" y="203" text-anchor="middle" font-size="10" fill="#555">CC码 ↔ 哈希包 强绑定上链</text>
<text x="845" y="222" text-anchor="middle" font-size="10" fill="#c62828">仅监管节点可调用 issueMA()</text>
</g>
<g>
<rect x="1010" y="148" width="290" height="88" rx="6" fill="#ffebee" stroke="#c62828" stroke-width="2" stroke-dasharray="5,3"/>
<text x="1155" y="168" text-anchor="middle" font-size="12" font-weight="bold" fill="#b71c1c">★ 全生命周期监管大屏(新建)</text>
<text x="1155" y="187" text-anchor="middle" font-size="10" fill="#555">MA码查全链路状态</text>
<text x="1155" y="187" text-anchor="middle" font-size="10" fill="#555">CC码查全链路状态</text>
<text x="1155" y="203" text-anchor="middle" font-size="10" fill="#555">在哪个播控/CDN/哈希版本</text>
<text x="1155" y="222" text-anchor="middle" font-size="10" fill="#555">历史版本变更追溯</text>
</g>
<g>
<rect x="1320" y="148" width="320" height="88" rx="6" fill="#ffebee" stroke="#c62828" stroke-width="2" stroke-dasharray="5,3"/>
<text x="1480" y="168" text-anchor="middle" font-size="12" font-weight="bold" fill="#b71c1c">★ 违规应急下架指挥台(新建)</text>
<text x="1480" y="187" text-anchor="middle" font-size="10" fill="#555">下发:下架 MA码 第XXX号</text>
<text x="1480" y="187" text-anchor="middle" font-size="10" fill="#555">下发:下架 CC码 第XXX号</text>
<text x="1480" y="203" text-anchor="middle" font-size="10" fill="#555">自动翻译为三方编码指令</text>
<text x="1480" y="222" text-anchor="middle" font-size="10" fill="#c62828">秒级全网同步,无需逐层人工</text>
</g>
<!-- 监管 → 可信空间 签发MA码 箭头 -->
<!-- 监管 → 可信空间 签发CC码 箭头 -->
<line x1="845" y1="236" x2="845" y2="300" stroke="#c62828" stroke-width="2.5" marker-end="url(#arrowRed)"/>
<text x="855" y="272" font-size="11" font-weight="bold" fill="#c62828">签发MA码 + 绑定哈希</text>
<text x="855" y="272" font-size="11" font-weight="bold" fill="#c62828">签发CC码 + 绑定哈希</text>
<!-- 应急下架 → 可信空间 -->
<line x1="1480" y1="236" x2="1480" y2="300" stroke="#c62828" stroke-width="2.5" stroke-dasharray="6,3" marker-end="url(#arrowRed)"/>
@@ -116,9 +116,9 @@
<text x="965" y="370" text-anchor="middle" font-size="12" font-weight="bold" fill="#311b92">三方编码映射表(Identity Mapping</text>
<line x1="770" y1="378" x2="1160" y2="378" stroke="#d1c4e9"/>
<text x="770" y="400" font-size="10" fill="#444">CP编码 FS-MEDIA-77821 ┐</text>
<text x="770" y="422" font-size="10" fill="#444">播控编码 GD-2025-NS-004472 ├─ ↔ MA</text>
<text x="770" y="422" font-size="10" fill="#444">播控编码 GD-2025-NS-004472 ├─ ↔ CC</text>
<text x="770" y="444" font-size="10" fill="#444">运营商编码 CT-IPTV-...008923 ┘</text>
<text x="770" y="468" font-size="9" fill="#777">一个MA码解析出全部三方编码 + CDN端点</text>
<text x="770" y="468" font-size="9" fill="#777">一个CC码解析出全部三方编码 + CDN端点</text>
<text x="770" y="481" font-size="9" fill="#2e7d32">→ 应急下架时一键定位全网资源</text>
</g>
@@ -167,10 +167,10 @@
<text x="90" y="758">Step1 母版哈希生成:全文件SHA-256 + 分段哈希 + 感知哈希</text>
<text x="90" y="784">Step2 送审申报:登录备案系统,上传哈希值包(不传原文件)</text>
<text x="110" y="804" fill="#777">片花/海报/剧本 + Merkle Tree根哈希 → 返回送审流水号</text>
<text x="90" y="830">Step3 审核通过:省级/总局签发MA码,MA码↔哈希包上链</text>
<text x="110" y="850" fill="#777">CP获"MA码+哈希证书",方可进入播控平台</text>
<text x="90" y="830">Step3 审核通过:省级/总局签发CC码,CC码↔哈希包上链</text>
<text x="110" y="850" fill="#777">CP获"CC码+哈希证书",方可进入播控平台</text>
<text x="90" y="882" fill="#2e7d32" font-weight="bold">权限:注册哈希(送审时) · 验真自查 · 管理本方映射</text>
<text x="90" y="904" fill="#c62828">换壳重发:同哈希已存在 → 拒绝重复申报,关联原MA</text>
<text x="90" y="904" fill="#c62828">换壳重发:同哈希已存在 → 拒绝重复申报,关联原CC</text>
</g>
<!-- 播控平台端 -->
@@ -190,7 +190,7 @@
<text x="970" y="632" text-anchor="middle" font-size="11" font-weight="bold" fill="#0d47a1">★ 验真+映射模块(新建)</text>
<text x="970" y="650" text-anchor="middle" font-size="9" fill="#555">送审文件哈希验真</text>
<text x="970" y="666" text-anchor="middle" font-size="9" fill="#555">转码版哈希绑定</text>
<text x="970" y="682" text-anchor="middle" font-size="9" fill="#555">建立播控流水号↔MA码映射</text>
<text x="970" y="682" text-anchor="middle" font-size="9" fill="#555">建立播控流水号↔CC码映射</text>
</g>
<g font-size="10" fill="#333">
@@ -201,9 +201,9 @@
<text x="660" y="796" fill="#c62828">不匹配 → 直接退回,标记"疑似版本替换"</text>
<text x="640" y="822">Step5 审核+转码:授权转码中心转码,重算各版本哈希</text>
<text x="660" y="842" fill="#777">母版哈希与转码版建立父子关系上链</text>
<text x="640" y="868">Step6 EPG编排:建立 播控流水号↔MA码↔哈希 映射</text>
<text x="640" y="868">Step6 EPG编排:建立 播控流水号↔CC码↔哈希 映射</text>
<text x="640" y="894" fill="#1565c0" font-weight="bold">权限:验真查询 · 本方映射管理 · 执行下架指令</text>
<text x="640" y="914" fill="#c62828">向运营商分发必须携带 MA码+哈希证书</text>
<text x="640" y="914" fill="#c62828">向运营商分发必须携带 CC码+哈希证书</text>
</g>
<!-- 运营商端 -->
@@ -234,7 +234,7 @@
<text x="1210" y="796" fill="#c62828">不匹配 → 拒绝注入,告警退回播控平台</text>
<text x="1190" y="822">Step8 EPG发布+终端播放:播放器SDK片段哈希抽检</text>
<text x="1210" y="842" fill="#777">下载片段比对链上哈希,异常断流切备用源</text>
<text x="1190" y="868">Step9 数据上报:以MA码为统一维度聚合三方数据</text>
<text x="1190" y="868">Step9 数据上报:以CC码为统一维度聚合三方数据</text>
<text x="1190" y="894" fill="#e65100" font-weight="bold">权限:验真查询 · 本方映射管理 · 执行下架指令</text>
<text x="1190" y="914" fill="#777">CP播放量/播控审核量/运营商分发量口径一致</text>
</g>
@@ -275,16 +275,16 @@
<rect x="445" y="1000" width="390" height="150" rx="8" fill="#fff5f5" stroke="#c62828" stroke-width="1.5"/>
<text x="640" y="1024" text-anchor="middle" font-size="13" font-weight="bold" fill="#b71c1c">价值② 精准溯源</text>
<line x1="465" y1="1032" x2="815" y2="1032" stroke="#ffcdd2"/>
<text x="465" y="1056" font-size="10" fill="#444">凭一个MA码秒级定位三方系统</text>
<text x="465" y="1056" font-size="10" fill="#444">凭一个CC码秒级定位三方系统</text>
<text x="465" y="1078" font-size="10" fill="#444">在哪个播控、哪个CDN、哪个哈希版本</text>
<text x="465" y="1100" font-size="10" fill="#444">历史版本变更全程留痕</text>
<text x="465" y="1128" font-size="11" fill="#c62828" font-weight="bold">出问题 → MA码一键穿透全链路</text>
<text x="465" y="1128" font-size="11" fill="#c62828" font-weight="bold">出问题 → CC码一键穿透全链路</text>
</g>
<g>
<rect x="850" y="1000" width="390" height="150" rx="8" fill="#fff5f5" stroke="#c62828" stroke-width="1.5"/>
<text x="1045" y="1024" text-anchor="middle" font-size="13" font-weight="bold" fill="#b71c1c">价值③ 应急下架</text>
<line x1="870" y1="1032" x2="1220" y2="1032" stroke="#ffcdd2"/>
<text x="870" y="1056" font-size="10" fill="#444">下发"下架MA码第XXX号"单一指令</text>
<text x="870" y="1056" font-size="10" fill="#444">下发"下架CC码第XXX号"单一指令</text>
<text x="870" y="1078" font-size="10" fill="#444">系统自动翻译为三方编码下架动作</text>
<text x="870" y="1100" font-size="10" fill="#444">无需人工逐层翻译/逐省协调</text>
<text x="870" y="1128" font-size="11" fill="#c62828" font-weight="bold">下架响应:2-24小时 → 分钟级</text>
@@ -293,34 +293,34 @@
<rect x="1255" y="1000" width="385" height="150" rx="8" fill="#fff5f5" stroke="#c62828" stroke-width="1.5"/>
<text x="1447" y="1024" text-anchor="middle" font-size="13" font-weight="bold" fill="#b71c1c">价值④ 数据可信</text>
<line x1="1275" y1="1032" x2="1625" y2="1032" stroke="#ffcdd2"/>
<text x="1275" y="1056" font-size="10" fill="#444">播放量/结算/上报以MA码统一聚合</text>
<text x="1275" y="1056" font-size="10" fill="#444">播放量/结算/上报以CC码统一聚合</text>
<text x="1275" y="1078" font-size="10" fill="#444">三方数据同一口径,消除对账争议</text>
<text x="1275" y="1100" font-size="10" fill="#444">监管掌握真实全网数据</text>
<text x="1275" y="1128" font-size="11" fill="#c62828" font-weight="bold">三方对账差异:15-30% → &lt;5%</text>
</g>
<!-- ============ 跨省复用价值 ============ -->
<text x="40" y="1190" font-size="16" font-weight="bold" fill="#1a237e">⑤ 跨省复用流程 — "一码通行":一省过审,全网凭MA码+哈希准入</text>
<text x="40" y="1190" font-size="16" font-weight="bold" fill="#1a237e">⑤ 跨省复用流程 — "一码通行":一省过审,全网凭CC码+哈希准入</text>
<rect x="40" y="1205" width="1620" height="130" rx="8" fill="#f3e5f5" stroke="#311b92" stroke-width="1.5"/>
<g font-size="11">
<!-- 流程步骤横向 -->
<rect x="70" y="1235" width="230" height="70" rx="6" fill="white" stroke="#311b92"/>
<text x="185" y="1262" text-anchor="middle" font-weight="bold" fill="#311b92">A省过审</text>
<text x="185" y="1283" text-anchor="middle" font-size="9" fill="#555">取得 MA码 + 哈希证书</text>
<text x="185" y="1283" text-anchor="middle" font-size="9" fill="#555">取得 CC码 + 哈希证书</text>
<line x1="300" y1="1270" x2="345" y2="1270" stroke="#311b92" stroke-width="2.5" marker-end="url(#arrowBlue)"/>
<rect x="350" y="1235" width="250" height="70" rx="6" fill="white" stroke="#311b92"/>
<text x="475" y="1258" text-anchor="middle" font-weight="bold" fill="#311b92">向B省播控送审</text>
<text x="475" y="1278" text-anchor="middle" font-size="9" fill="#555">仅提交 MA码+哈希证书</text>
<text x="475" y="1278" text-anchor="middle" font-size="9" fill="#555">仅提交 CC码+哈希证书</text>
<text x="475" y="1294" text-anchor="middle" font-size="9" fill="#c62828">无需重新提交内容文件</text>
<line x1="600" y1="1270" x2="645" y2="1270" stroke="#311b92" stroke-width="2.5" marker-end="url(#arrowBlue)"/>
<rect x="650" y="1235" width="280" height="70" rx="6" fill="white" stroke="#311b92"/>
<text x="790" y="1258" text-anchor="middle" font-weight="bold" fill="#311b92">可信空间验真</text>
<text x="790" y="1278" text-anchor="middle" font-size="9" fill="#555">MA码有效 + 哈希一致 + 非黑名单</text>
<text x="790" y="1278" text-anchor="middle" font-size="9" fill="#555">CC码有效 + 哈希一致 + 非黑名单</text>
<text x="790" y="1294" text-anchor="middle" font-size="9" fill="#555">三重校验通过</text>
<line x1="930" y1="1270" x2="975" y2="1270" stroke="#311b92" stroke-width="2.5" marker-end="url(#arrowBlue)"/>
@@ -397,7 +397,7 @@
<!-- ============ 总结框 ============ -->
<rect x="40" y="1820" width="1620" height="120" rx="10" fill="url(#chainGrad)"/>
<text x="850" y="1855" text-anchor="middle" fill="white" font-size="16" font-weight="bold">设计哲学:不替代现有系统,在三方之上建立"可信身份映射层"</text>
<text x="850" y="1888" text-anchor="middle" fill="#d1c4e9" font-size="13">MA码解决"是谁"(监管身份)· 哈希码解决"是不是"(数据真实)· 可信数据空间解决"在哪"(全链溯源)</text>
<text x="850" y="1888" text-anchor="middle" fill="#d1c4e9" font-size="13">CC码解决"是谁"(监管身份)· 哈希码解决"是不是"(数据真实)· 可信数据空间解决"在哪"(全链溯源)</text>
<text x="850" y="1918" text-anchor="middle" fill="#b3c5ff" font-size="13" font-weight="bold">三者叠加 → 审过即锁定,锁定即通行,通行可追溯 · 监管从"逐层翻译滞后"升级为"一码穿透秒级响应"</text>
<!-- 图例 -->

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB