Seetong · Report
🎯 Seetong 问题雷达 09:00 第216期
时间窗口:2026-10-08 01:00:00 ~ 09:26:00(Asia/Shanghai)
TL;DR 核心要点
- 🔴 回放失败码高位稳定但 SD 相关码持续偏高:10/7 全天 DeviceVideoPlayback 失败分布中,无 SD 卡 SA106008 5.0 万次、SD 未初始化 SA106012 3.8 万次、SD 读写异常 SA106010 3.7 万次,合计约 12.5 万次/天(严重度 62 / 100,置信度 中)——与今晨用户反馈「显示没有SD卡、彩色变黑白」方向一致
- 🟠 NVR 回放埋点覆盖严重不足:NvrDeviceVideoPlayback 近 7 天每天仅 1~6 次上报(严重度 60 / 100,置信度 中)——NVR/多通道回放几乎处于数据盲区,任何 NVR 回放问题都无法被雷达提前发现
- 现象描述(已脱敏):用户反馈「设备为什么有时候不能看回放,显示没有SD卡」「以前彩色现在变成黑白的」「查看回放会自动黑屏」
🔴 问题 1:回放失败码分布中的 SD 卡相关码持续偏高(无SD卡 / SD未初始化 / SD读写异常)
1. 现象与覆盖范围
- 现象描述(已脱敏):用户反馈「设备为什么有时候不能看回放,显示没有SD卡」「以前彩色现在变成黑白的」「查看回放会自动黑屏」
- 涉及反馈:今晨窗口 3 条相关(FB 256012 iOS 8.4.1.6/iPhone 26.6.2、FB 256001 Android HUAWEI BLK-AL80 8.4.1.6、FB 256000 HarmonyOS 1.1.1.11「老是显示未格式化」)
- 覆盖:iOS + Android + HarmonyOS 三端,跨品牌(iPhone / HUAWEI / HONOR / vivo)
- 严重度评分:62/100(反馈量 10 / 共性 30 / 关键度 30,SD 属录像回放能力受损)
2. 神策证据(核心数据源)
关键事件总量趋势(近 7 天,query_sql 直查):
| 日期 | DeviceVideoPlayback | CloudPlayback | NvrDeviceVideoPlayback | NvrMonitorFrameResult |
|---|---|---|---|---|
| 10-01 | 21,386,726 | 300,678 | 3 | 12,289 |
| 10-02 | 21,217,479 | 300,792 | 1 | 11,673 |
| 10-03 | 21,264,463 | 298,461 | 1 | 9,984 |
| 10-04 | 21,148,772 | 298,102 | — | 10,702 |
| 10-05 | 20,869,650 | 294,960 | 6 | 14,497 |
| 10-06 | 20,955,030 | 297,484 | 1 | 15,229 |
| 10-07 | 20,750,554 | 297,855 | 3 | 14,941 |
→ 总量环比 -3%(10/1 21.39M → 10/7 20.75M),大盘稳定,不构成"回放整体崩溃"。
失败码分布(10-07 全天,by_fields: event.DeviceVideoPlayback.errorCode):
| errorCode | 语义(SensorsConstant.kt:1565-1589) | 10-07 次数 | 占比 |
|---|---|---|---|
200 | 成功 | 17,463,588 | 84.1% |
null | 未上报/中断 | 2,583,005 | 12.4% |
SA106001 | 回放超时 | 225,833 | 1.09% |
SA106007 | 设备离线 | 161,416 | 0.78% |
SA106006 | 取设备时间返回空 | 158,876 | 0.77% |
SA106008 | 无 SD 卡(未插入) | 50,310 | 0.24% |
SA106012 | SD 卡未初始化 | 38,477 | 0.19% |
SA106010 | SD 卡读写异常 | 35,465 | 0.17% |
SA106005 | 获取设备时间错误 | 23,975 | 0.12% |
SA106009 | SD 卡异常 | 3,746 | 0.02% |
SA106013 | SD 卡初始化错误 | 4,081 | 0.02% |
SA106011 | SD 卡只读错误 | 1,793 | 0.01% |
SA106004 | 无告警事件信息 | 30 | ~0% |
30600201 | 其它 | 20 | ~0% |
SD 相关码合计(10-07):50,310 + 38,477 + 35,465 + 3,746 + 4,081 + 1,793 = 133,872 次/天(占失败总量约 3.2%)。
趋势校验:10-01→10-07,SA106008 256,465→225,833,SA106012 42,394→38,477,SA106010 38,917→35,465 —— 逐日缓慢下降,无突然恶化,属长期存量问题而非新增回归。
漏斗/成功率:回放成功率约 84.1%(errorCode=200),加 null(多为例行中断、弱网退出)后有效口径约 96.5%。
3. Logan 关键日志(核心数据源)
- 反馈 ID:FB 256001(Android HUAWEI BLK-AL80,8.4.1.6,
clientId e8cb53de) PlayBackPage-|07:40.15.212| [KLog][PlayBackPage]:loadPlaybackData start, devId=17461507-CH-2, checkSdAbnormal=false, forceRefresh=falsePlayBackPage-|07:40.15.217| [KLog][PlayBackPage]:fetchPlaybackSdCardInfo start, devId=17461507-CH-2, wakeDeviceType=201PlayBackPage-|07:40.15.217| [KLog][PlayBackPage]:skip sd info request, devId=17461507-CH-2, reason=not wifi ipc← SD 信息被跳过PlayBackPage |07:40.16.575| receive playback play failed event, devId=17461507-CH-2, result=0LibImpl-onNvrReplayResp, act=0, have audio=1, video codec=H265→ 首帧随后到达(L2038onRecvFirstFrame)- 多通道切换时
LibImpl-addWatch,devId=17461507-CH-4,add_watch_result=-1,portId=0,playing=false,play=true→ret:-121→PreviewPlayerView-setVideoInfo msg: NVR通道不在线(对应"空余通道无法删除/黑屏") - 反馈 ID:FB 256012(iOS iPhone 26.6.2,8.4.1.6,
clientId 4049EF9C) 01:27:47 缓存中上一次的登录账号: 44620605→ token 刷新成功01:30:56.528 主动断开长连接日志信息 - code: 1001 - reason: Stream end encountered07:45:09 1HttpRequest ... path=/seetong-upgrade/app/upgrade/get/version,ret=-101(启动早期网络未就绪,正常)- 设备
devIsOnline=1, devType=101, devChannelCount=2(在线 IPC,2 通道) - 该 Logan 全程未捕获回放操作(用户可能未在日志窗口内复现),SD/黑白诉求无直接日志佐证 → 置信度降为中
6. 代码定位(详细)
- 涉及模块:
Seetong-App-Android/Seetong5.0ForSeetong/Seetong5.0/(Android 主端,KMP 回放页) - 关键类 1:
PlayBackEvent(lib_base/.../utils/sensors/PlayBackEvent.kt:337-372)——埋点失败码归因 fun setDviceOnSD()→PLAY_BACK_DEVICE_NO_SD(:352-354)fun setDeviceSdError(sdState: Int)(:363-372)按sdState映射错误码:-1 → SA106008(未插入);-2 → SA106010(读写);-3 → SA106011(只读);-4 → SA106012(未初始化);-5 → SA106013(初始化)- 关键类 2:
NvrRecord(app/.../ui/NvrRecord.java:1884-1942)——SD 分支入口 - 调用链:
exceptionViewShow(checkSdAbnormal)→if (m_device.isWifiIPC())→if (m_device.sdAbnormal != SD_CARD_STATE_NORMAL)→setExceptionView(EXCEPTION_NO_CARD)+PlayBackEvent.INSTANCE.setDeviceSdError(m_device.sdAbnormal) - 同类:
VideoRecordActivity.java:1212-1262(同一逻辑,视频回放端) - 关键分支:
exceptionViewShow的 SD 判定只在m_device.isWifiIPC()为 true 时进入;非 wifi IPC(NVR 通道 / 4G IPC / NVR 下挂 IPC)直接跳过 SD 检查 → 与 Logan 中skip sd info request, reason=not wifi ipc完全吻合 - 修复方向锚点:
NvrRecord.java:1911附近:isWifiIPC()之外的设备(NVR/通道)也应进入 SD 状态判定与提示,或明确提示"NVR 通道不支持卡回放,请用云回放"PlayBackEvent.kt:363-372:sdState语义与设备侧上报的sdAbnormal枚举需再对齐一次(尤其-4/-5是否与固件实际返回一致)VideoRecordActivity.java:1238与NvrRecord.java:1910:两处 SD 逻辑应抽公共判断,避免一端修一端漏
7. 根因结论
- 置信度:🟡 中
- 一句话根因:回放失败中 SD 相关码(无卡/未初始化/读写异常)合计约 13.4 万次/天且长期存在,主因是部分设备(非 wifi IPC / NVR 通道)SD 状态判定与提示路径不生效或与设备实际状态不一致,用户看到"没有SD卡/黑白"却无法自助解决
- 关键证据链:神策
DeviceVideoPlayback.errorCode分布(SA106008/012/010 稳定高位)+ Loganskip sd info request reason=not wifi ipc+ 代码NvrRecord.exceptionViewShow的isWifiIPC()门槛 —— 三方互相印证
8. 建议下一步
- 分配给:Android 客户端 + 设备侧协议(SD 状态字段)
- 优先处理项:
- 明确 NVR/非 wifi IPC 设备的 SD 状态提示策略(提示文案 + 是否支持卡回放判定)
- 抽查
SA106008无卡上报样本,核对设备端sdAbnormal与 UI 提示是否一致(防"明明插了卡却报无卡")
- 验证方法:对比修复前后
SA106008/SA106012日上报量 + 灰度版本用户回放成功率;回归用例覆盖"NVR 多通道回放 / 4G IPC 回放 / 无卡回放"三场景
🟠 问题 2:NVR 回放埋点覆盖严重不足(数据盲区)
1. 现象与覆盖范围
- 现象:专用事件
NvrDeviceVideoPlayback(NVR录像回放事件,legacy_id 110)近 7 天每天仅上报 1~6 次 - 相对量级:同期通用
DeviceVideoPlayback每天约 2000 万次,CloudPlayback约 30 万次 - 严重度评分:60/100(反馈量 10 / 共性 30 / 关键度 20,属"看不见"的工程风险而非直接用户故障)
2. 神策证据(核心数据源)
NvrDeviceVideoPlayback10-01~10-07:3 / 1 / 1 / 0 / 6 / 1 / 3 次(query_sql原始表直查)NvrMonitorFrameResult同期约 1.0~1.5 万/天(出图性能事件有数据)- 结论:NVR 回放的"启动/首帧/拖动/失败"关键节点没有有效埋点;NVR 回放一旦出问题(如本周 FB 256001 的多通道黑屏/通道不在线),雷达拿不到聚合证据,只能靠单条反馈与 Logan 逆向推测
3. Logan 关键日志(核心数据源)
- FB 256001 明确走的是 NVR 多通道链路(
PlayBackPage→searchNvrRecByTimeEx→startNvrReplay),但该次操作在神策端没有落到NvrDeviceVideoPlayback,而是落到通用DeviceVideoPlayback(LoganL2097 PlayBackSensors:track playback custom event, event=DeviceVideoPlayback)
→ 印证:NVR 场景实际走通用事件,专用事件形同虚设
6. 代码定位(详细)
- 关键类:
PlayBackSensors/PlayBackEvent(lib_base/.../utils/sensors/) - Logan 证据:
PlayBackSensors: start playback custom event, scene=预览页面进入回放, devId=17461507-CH-2, deviceType=2001, supportPlatform=6 - 现象定位:
deviceType=2001的 NVR 通道场景,上报事件名仍是DeviceVideoPlayback,未分流到NvrDeviceVideoPlayback - 修复方向锚点:在
PlayBackSensors.track上报处,按deviceType/supportPlatform判断是否上报NvrDeviceVideoPlayback,补齐 NVR 回放启动/首帧/失败三节点;或明确废弃该事件并统一口径(二选一,避免"看起来有埋点其实没数据")
7. 根因结论
- 置信度:🟡 中
- 一句话根因:
NvrDeviceVideoPlayback事件实际上未被有效触发/上报(NVR 场景落到通用DeviceVideoPlayback),导致 NVR 回放问题长期处于监控盲区 - 关键证据链:神策
NvrDeviceVideoPlayback量级异常(1~6/天)+ Logan 中 NVR 场景上报的是DeviceVideoPlayback
8. 建议下一步
- 分配给:数据埋点 owner(客户端)
- 优先处理项:确认
NvrDeviceVideoPlayback是"设计保留未启用"还是"上报断链";若保留,补 NVR 回放三节点埋点;若废弃,从 schema 与代码中移除,避免误导 - 验证方法:修复后
NvrDeviceVideoPlayback日上报量应与 NVR 回放实际使用量同量级;用 1 台 NVR 多通道设备走一遍回归
本期扫描全量(全部沉淀到知识库)
| # | 关键词 | 反馈数 | 分类 | 处置 |
|---|---|---|---|---|
| 1 | -102 / -101 请检查手机网络 | 22 | 🟣 网络问题 | 已排除(普遍类,不涉业务逻辑) |
| 2 | 回放显示没有SD卡 / 彩色变黑白 / 回放自动黑屏 | 3 | 🔴 进雷达 | 详细分析见问题 1 |
| 3 | 老是掉线 / 显示离线 / 掉线需拔电源重启 | 6 | 🟡 配置/设备侧 | 排除(多为设备侧网络与供电,未形成跨用户 App 侧共性);FB 255994 同用户 x2 重复 |
| 4 | 云录像最后一次人走录不到 / 云录像有时没录到人 | 2 | 🟡 配置 | 排除(单用户,AI 人形检测灵敏度类,属产品调优) |
| 5 | 消息里有人画面保存的是图片不是视频 | 1 | 🟡 配置 | 排除(单条,需复现) |
| 6 | 老是显示未格式化 / 显示未插入存储卡 | 2 | 🟠 关联 | 与问题 1 同源(SD 状态),并入问题 1 证据 |
| 7 | HarmonyOS「网络不行」「我的最起码D我估摸」乱码 | 2 | 🟤 无效反馈 | 排除(无有效信息) |
| 8 | 心愿单接口(触顶 200 条) | 200 | 🟤 建议类 | 排除(产品建议,非功能故障) |
排除明细:🟢 用户操作 3(乱码/无意义内容)🟡 配置 4(单用户云录/单设备掉线)🟣 网络 22(-102/-101)🟤 心愿单 9(含 200 条接口样本中的有效建议)
24h 去重说明:上期为 2026-09-30-H17(第215期,Android 回放息屏问题),与本期问题 1(SD 状态)不同关键词簇,非重复;因 10-01~10-07 空档,无上期 24h 可比窗口。
数据源状态汇总
| 数据源 | 状态 | 说明 |
|---|---|---|
| 反馈平台 | ✅ 正常 | login_and_get_feedback 返回 37 条(未触顶) |
| 心愿单 | ✅ 正常 | 返回 total=200(触顶,按"至少 200"口径) |
| 神策 | ✅ 正常 | query_segmentation_report / query_sql 均成功;NvrDeviceVideoPlayback 量级已核实 |
| Logan | ✅ 部分 | FB 256001 抓到完整回放链路;FB 256012 未捕获回放操作 |
| 友盟 | ⏭️ 未查 | 本轮问题非崩溃/ANR 类,按规则跳过 |
| TAPD | ⏭️ 未查 | 无用户引用单号,按规则跳过 |
待补证
- FB 256012 的 SD/黑白诉求缺 Logan 直接佐证(该 Logan 未含回放操作)→ 下次若同用户再反馈,优先取回放时段日志
SA106008无卡上报样本需与设备端sdAbnormal枚举做一次抽样核对(防误报)- FB 256012 附件 ZIP 未解压比对(本次仅用 Logan)
NvrDeviceVideoPlayback是"保留未启用"还是"上报断链"待埋点 owner 确认
下一期 = 第217期 = 2026-10-08-H17(今天下午 17:00)