图例:蓝色为基础流程,绿色为 V1.5 创新点,橙色为 V2.0 创新点,紫色为 V2.5+ 探索项,红色为异常或风险处理。
flowchart LR
A["管理员<br/>首次启用与配置"] --> B["媒体源扫描<br/>自动入库与刮削"]
B --> C{"识别是否准确"}
C -->|是| D["形成家庭影视库"]
C -->|否| C1["管理员修正<br/>未匹配、字幕、多版本"]
C1 --> D
D --> E["建立家庭成员资料<br/>成人、儿童、异地成员、访客"]
E --> F["首页推荐 / 搜索 / 分类 / 片单"]
F --> G["详情页判断<br/>看点、时长、适合度、可播状态"]
G --> H["播放准备<br/>设备、版本、字幕、音轨、网络"]
H --> I["TV / 投影 / 手机 / PC 播放"]
I --> J["进度同步、续看、收藏与反馈"]
J --> F
I --> K["家庭内部分享 / 异地播放 / 临时访客"]
K --> L["权限到期、撤销与访问记录"]
N1["创新:渐进式入库<br/>先展示高置信度内容"] -.-> B
N2["创新:可播放优先推荐<br/>结合身份、设备和网络"] -.-> F
N3["创新:结果型播放建议<br/>最佳画质 / 最稳播放"] -.-> H
N4["创新:播放失败自动回退<br/>优先保证有声有画"] -.-> I
classDef base fill:#E8F1FF,stroke:#4A78C2,color:#172B4D;
classDef v15 fill:#E6F7EC,stroke:#36A269,color:#173D2A;
classDef v20 fill:#FFF1D6,stroke:#DB8B18,color:#563709;
classDef risk fill:#FFE8E6,stroke:#D9514E,color:#5A1B19;
class A,B,D,E,F,G,H,I,J,K,L base;
class N1,N2,N3,N4 v15;
class C,C1 risk;
flowchart TD
A["进入影视模块"] --> B{"是否已配置媒体源"}
B -->|否| C["选择自动扫描<br/>或手动指定目录"]
C --> C1["扫描前预览<br/>确认目录、样本、隐私风险<br/>原文件不移动、不改名"]
C1 --> D["启动后台入库"]
B -->|是| D
D --> E["解析文件名、时长、季集<br/>匹配海报与元数据"]
E --> F{"匹配置信度"}
F -->|高| G["自动进入片库"]
F -->|低或失败| H["进入健康中心<br/>未匹配、缺字幕、重复、多版本"]
H --> I["预览修改结果<br/>批量确认或撤销"]
I --> G
G --> J["配置成员与权限<br/>成人 / 儿童 / 异地 / 访客"]
J --> K["配置默认字幕、音轨<br/>画质和远程码率"]
K --> L["选择影片并流转至 TV / 投影"]
L --> M["影院就绪度检测<br/>4K、HDR、音响、字幕、带宽"]
M --> N{"当前链路是否适合直放"}
N -->|是| O["按最佳画质直放"]
N -->|否| P["自动封装转换或转码<br/>说明原因和画质影响"]
O --> Q["沉浸播放"]
P --> Q
Q --> R{"是否发生卡顿、无声<br/>字幕错位或色彩异常"}
R -->|否| S["保存进度与个人偏好"]
R -->|是| T["自动降码率 / 换音轨<br/>关闭增强 / 回退基础播放"]
T --> U["生成可行动诊断<br/>例:该电视不支持当前音轨"]
U --> Q
V1["V1.5 创新<br/>目标式引导:按观看场景生成配置"] -.-> C
V2["V1.5 创新<br/>渐进式入库:数分钟内形成首屏"] -.-> D
V3["V2.0 创新<br/>片库健康评分 + 可撤销批量治理"] -.-> H
V4["V1.5 创新<br/>影院原生 / 动漫增强 / 老片修复预设"] -.-> M
V5["V2.0 创新<br/>观影时暂停 AI、索引等后台任务"] -.-> Q
classDef base fill:#E8F1FF,stroke:#4A78C2,color:#172B4D;
classDef v15 fill:#E6F7EC,stroke:#36A269,color:#173D2A;
classDef v20 fill:#FFF1D6,stroke:#DB8B18,color:#563709;
classDef risk fill:#FFE8E6,stroke:#D9514E,color:#5A1B19;
class A,C,C1,D,E,G,J,K,L,M,O,P,Q,S base;
class V1,V2,V4 v15;
class V3,V5 v20;
class B,F,H,I,N,R,T,U risk;
flowchart TD
A["打开 TV / 手机 / PC 影视"] --> B["确认当前成员资料<br/>也可选择“一起看”避免污染个人推荐"]
B --> C{"用户找片意图"}
C -->|继续上次内容| D["继续观看<br/>显示上次设备、进度和剩余时长"]
C -->|有明确目标| E["搜索片名、演员、导演<br/>TV 支持语音输入"]
C -->|只有模糊想法| F["自然语言搜索<br/>例:90 分钟内、轻松、适合全家"]
C -->|不知道看什么| G["随便看看<br/>每次只推荐一部并说明理由"]
E --> H["优先返回库内立即可播内容"]
F --> I["把 AI 理解结果显示为<br/>可编辑条件标签"]
I --> H
G --> H
D --> M
H --> J{"是否有合适结果"}
J -->|否| K["说明无结果原因<br/>推荐相近库内内容或保存搜索"]
K --> C
J -->|是| L["进入 30 秒详情决策层<br/>一句话看点、无剧透总结<br/>时长、适合人群、可播状态"]
L --> M["播放 / 续播 / 从头播放"]
M --> N["系统自动选择<br/>最佳画质或最稳播放版本"]
N --> O["自动应用个人字幕、音轨偏好"]
O --> P["开始播放"]
P --> Q{"观看中操作"}
Q -->|暂停| R["无剧透暂停卡<br/>查看当前角色与演员"]
Q -->|切换设备| S["手机、TV、平板无缝接力<br/>同步进度和字幕偏好"]
Q -->|播放结束| T["下一集 / 收藏 / 稍后继续<br/>不强制评分"]
R --> P
S --> P
T --> U["更新个人推荐<br/>单次行为不过度改变画像"]
U --> C
V1["V1.5 创新<br/>推荐理由包含真实条件<br/>如:还剩 42 分钟、刚入库 4K 版"] -.-> G
V2["V1.5 创新<br/>AI 搜索必须绑定真实 content_id<br/>避免推荐不存在内容"] -.-> H
V3["V2.0 创新<br/>多人偏好取交集<br/>生成家庭共同观看建议"] -.-> B
V4["V1.5 创新<br/>起播状态可理解<br/>正在连接电视 / 准备最佳版本"] -.-> P
classDef base fill:#E8F1FF,stroke:#4A78C2,color:#172B4D;
classDef v15 fill:#E6F7EC,stroke:#36A269,color:#173D2A;
classDef v20 fill:#FFF1D6,stroke:#DB8B18,color:#563709;
classDef risk fill:#FFE8E6,stroke:#D9514E,color:#5A1B19;
class A,B,D,E,F,G,H,I,L,M,N,O,P,R,S,T,U base;
class V1,V2,V4 v15;
class V3 v20;
class C,J,K,Q risk;
flowchart TD
A["儿童选择自己的头像"] --> B["进入儿童资料<br/>退出到成人资料需家长 PIN 或验证设备"]
B --> C["首页只展示有明确年龄依据<br/>且符合家庭规则的内容"]
C --> D{"如何找内容"}
D -->|浏览| E["按角色、系列、动画世界观浏览<br/>使用大卡片和少文字"]
D -->|语音| F["仅在安全内容域内搜索"]
E --> G["简化详情<br/>时长、年龄、主题<br/>有点吓人 / 需大人陪同"]
F --> G
G --> H{"内容是否符合规则"}
H -->|是| I["开始播放<br/>使用儿童默认音轨和字幕"]
H -->|否| J["说明受限原因<br/>允许向家长申请单次观看"]
J --> K{"家长是否批准"}
K -->|批准一集或限定时间| I
K -->|不批准| C
I --> L["持续显示温和的剩余时间提示"]
L --> M{"剩余时间能否看完下一集"}
M -->|能| N["允许播放下一集"]
M -->|不能| O["不启动新一集<br/>避免看到一半被强制切断"]
N --> I
O --> P["角色化结束页<br/>今天看了什么、明天继续看"]
P --> Q["家长查看分龄摘要<br/>低龄看明细,青少年侧重时长与分级"]
Q --> R["家长调整时段、分级、黑白名单<br/>修改前预览受影响内容"]
R --> C
V1["V2.0 创新<br/>完整一集策略:规则更可预测<br/>降低中途截断冲突"] -.-> M
V2["V2.0 创新<br/>再看一集申请<br/>可批准 10 分钟 / 一集 / 今天不限"] -.-> O
V3["V2.0 创新<br/>家长推荐变成“周末一起看”片单<br/>避免命令感"] -.-> Q
R1["重要边界<br/>V1.5 的儿童不宜过滤只是推荐规避<br/>不等同完整家长控制"] -.-> B
classDef base fill:#E8F1FF,stroke:#4A78C2,color:#172B4D;
classDef v20 fill:#FFF1D6,stroke:#DB8B18,color:#563709;
classDef risk fill:#FFE8E6,stroke:#D9514E,color:#5A1B19;
class A,B,C,E,F,G,I,L,N,O,P,Q,R base;
class V1,V2,V3 v20;
class D,H,J,K,M,R1 risk;
flowchart TD
A["管理员发送家庭邀请<br/>明确可见片库、播放和下载权限"] --> B["异地成员打开邀请<br/>登录或使用一次性配对码"]
B --> C["建立独立资料<br/>观看记录、收藏和推荐不与家人混用"]
C --> D["首次连接体检<br/>检测直连 / 中继、家庭上行<br/>当前网络和设备能力"]
D --> E{"连接结果"}
E -->|良好| F["显示:可流畅播放 4K / 高清"]
E -->|受限| G["显示:建议流畅模式<br/>每小时预计消耗流量"]
E -->|失败| H["区分原因<br/>NAS 离线 / 权限失效 / 当前网络限制"]
H --> I["自动尝试切换中继、刷新授权<br/>或服务恢复后单次提醒"]
I --> D
F --> J["浏览远程首页<br/>优先推荐当前网络下可稳定播放内容"]
G --> J
J --> K["选择影片<br/>卡片提前显示立即可播 / 需转码 / 暂不可播"]
K --> L["播放前轻量探测<br/>按需预热转码"]
L --> M["开始远程播放"]
M --> N{"网络是否波动"}
N -->|否| O["持续播放并同步进度"]
N -->|是| P["快速降档、缓慢升档<br/>稳定优先于频繁切换清晰度"]
P --> O
O --> Q{"是否需要旅行离线"}
Q -->|否| J
Q -->|是| R["选择旅行天数和可用空间"]
R --> S["自动生成行程包<br/>准备兼容副本、预计完成时间"]
S --> T["出发前离线可用性体检<br/>检查授权、空间和文件完整性"]
T --> U["离线观看<br/>联网后合并进度并清理已看内容"]
V1["V2.0 创新<br/>责任域诊断:用结果语言说明<br/>无需理解公网 IP、端口或 CGNAT"] -.-> H
V2["V2.0 创新<br/>家庭播放公平调度<br/>本地影院优先,同时保障远程最低质量"] -.-> L
V3["V2.5+ 探索<br/>行程离线包按时长、空间和偏好自动准备"] -.-> R
classDef base fill:#E8F1FF,stroke:#4A78C2,color:#172B4D;
classDef v20 fill:#FFF1D6,stroke:#DB8B18,color:#563709;
classDef future fill:#F0E8FF,stroke:#845EC2,color:#35245A;
classDef risk fill:#FFE8E6,stroke:#D9514E,color:#5A1B19;
class A,B,C,D,F,G,J,K,L,M,O,P,R,S,T,U base;
class V1,V2 v20;
class V3 future;
class E,H,I,N,Q risk;
flowchart TD
A{"访客使用场景"}
A -->|到家共同观看| B["主人开启“一起看”公共会话<br/>不写入个人推荐画像"]
B --> C["访客扫码加入本次会话"]
C --> D["多人提交候选或匿名偏好"]
D --> E["系统取偏好交集<br/>优先推荐库内立即可播内容"]
E --> F["主人确认后流转至 TV<br/>访客手机仅有本次播放控制权"]
F --> G["观影结束自动撤销访客控制<br/>进度由主人决定归属"]
A -->|远程分享单片| H["主人选择内容、有效期<br/>播放次数、是否允许下载"]
H --> I["分享前可播预检<br/>检查外网带宽、格式和兼容副本"]
I --> J["生成最小权限链接<br/>默认单内容、短时效、禁止转授权"]
J --> K["访客在浏览器或 App 打开<br/>只看到被分享内容和主人留言"]
K --> L{"链接是否有效"}
L -->|有效| M["按受限码率和权限播放"]
L -->|到期 / 撤销 / 超次数| N["拒绝访问并说明原因<br/>不暴露家庭片库和设备状态"]
A -->|短期借住| O["管理员创建临时访客资料<br/>选择可见片库和到期时间"]
O --> P["访客扫码或输入短码接入"]
P --> Q["独立临时进度<br/>不可管理、删除或二次分享"]
Q --> R["到期自动撤权<br/>删除临时画像并保留最小访问记录"]
V1["V2.0 创新<br/>多人选片投票缩短共同决策时间"] -.-> D
V2["V2.0 创新<br/>分享可播预检避免链接发出后播不了"] -.-> I
V3["V2.0 创新<br/>以访客视角预览权限结果<br/>防止误分享整个片库"] -.-> O
R1["安全原则<br/>单内容、短时效、限制次数<br/>可撤销、可审计、禁止转授权"] -.-> J
classDef base fill:#E8F1FF,stroke:#4A78C2,color:#172B4D;
classDef v20 fill:#FFF1D6,stroke:#DB8B18,color:#563709;
classDef risk fill:#FFE8E6,stroke:#D9514E,color:#5A1B19;
class B,C,D,E,F,G,H,I,J,K,M,O,P,Q,R base;
class V1,V2,V3 v20;
class A,L,N,R1 risk;
flowchart LR
A["核心目标<br/>让家庭私有片库好找、好播、好管、好分享"]
A --> B["V1.5:首日成功"]
B --> B1["目标式首次引导"]
B --> B2["渐进式入库首屏"]
B --> B3["可行动错误提示"]
A --> C["V1.5:快速决策"]
C --> C1["自然语言搜索<br/>+ 可编辑条件标签"]
C --> C2["30 秒详情决策层"]
C --> C3["真实可播优先推荐"]
A --> D["V1.5:稳定高质量播放"]
D --> D1["结果型版本推荐"]
D --> D2["影院就绪度检测"]
D --> D3["播放异常自动回退"]
D --> D4["场景化画质预设"]
A --> E["V2.0:家庭成员体系"]
E --> E1["成人 / 儿童 / 异地 / 访客模板"]
E --> E2["共同观看资料"]
E --> E3["完整一集时长策略"]
E --> E4["受限内容申请观看"]
A --> F["V2.0:远程与分享"]
F --> F1["连接体检与责任域诊断"]
F --> F2["家庭播放公平调度"]
F --> F3["临时分享可播预检"]
F --> F4["多人选片投票"]
A --> G["V2.0 / V2.5+:长期治理"]
G --> G1["片库健康评分<br/>可撤销批量治理"]
G --> G2["观影优先资源调度"]
G --> G3["旅行离线包"]
classDef goal fill:#172B4D,stroke:#172B4D,color:#FFFFFF;
classDef v15 fill:#E6F7EC,stroke:#36A269,color:#173D2A;
classDef v20 fill:#FFF1D6,stroke:#DB8B18,color:#563709;
classDef future fill:#F0E8FF,stroke:#845EC2,color:#35245A;
class A goal;
class B,B1,B2,B3,C,C1,C2,C3,D,D1,D2,D3,D4 v15;
class E,E1,E2,E3,E4,F,F1,F2,F3,F4,G,G1,G2 v20;
class G3 future;
flowchart LR
A["首日成功"] --> A1["首次引导完成率"]
A --> A2["首批内容可见时间"]
A --> A3["首次进入 30 分钟内成功播放率"]
B["找片效率"] --> B1["打开到播放时长"]
B --> B2["搜索成功率"]
B --> B3["详情页播放转化率"]
C["播放质量"] --> C1["首播成功率"]
C --> C2["起播时间"]
C --> C3["卡顿率 / 异常退出率"]
C --> C4["播放异常自助解决率"]
D["家庭安全"] --> D1["资料正确选择率"]
D --> D2["儿童越权播放事件:目标为 0"]
D --> D3["过期权限残留:目标为 0"]
E["远程共享"] --> E1["邀请完成率"]
E --> E2["首次远程播放成功率"]
E --> E3["分享打开与播放转化率"]
classDef metric fill:#F5F7FA,stroke:#687588,color:#172B4D;
class A,A1,A2,A3,B,B1,B2,B3,C,C1,C2,C3,C4,D,D1,D2,D3,E,E1,E2,E3 metric;
本文作者:oyph
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!