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卡」「以前彩色现在变成黑白的」「查看回放会自动黑屏」

🔥最近一个月 Top 问题

按严重度与复发期数排序,已把跨期同类反馈归集;负责人由问题代码锚点对应的 Git 提交历史(blame / 近期主要提交者)反查;数据窗口:最近 30 天(截至 2026-10-08)。

#问题(严重度降序)严重度平台版本负责人问题原因
1升级后回放体验整体退化
2 期 · 10 条反馈
85Android · iOS8.4.1.6 / 8.3.14.2唐胜、许源8.4.1.6 对回放链路做了多处改动(时间条 UI、通道切换进度对齐、报警-录像联动),导致回放体验多点退化;Logan 显示取流层无崩溃,问题在"UI/状态对齐 + 报警录像关联"而非连接失败。
2Android 回放期间手机自动息屏/不再保持屏幕常亮
6 期 · 13 条反馈
80Android8.4.1.6 / 8.4.2 / 8.3.14.2唐胜、陈宝旺、许源、欧阳荣Android 回放页面(PlayBackPage)未在 onResume 时设置 FLAG_KEEP_SCREEN_ON 或获取 WakeLock,导致系统息屏计时器到期后自动关闭屏幕
3回放失败码分布中的 SD 卡相关码持续偏高(无SD卡 / SD未初始化 / SD读写异常)
1 期 · 3 条反馈
62Android · HarmonyOS · iOS1.1.1.11 / 8.4.1.6唐胜、张威回放失败中 SD 相关码(无卡/未初始化/读写异常)合计约 13.4 万次/天且长期存在,主因是部分设备(非 wifi IPC / NVR 通道)SD 状态判定与提示路径不生效或与设备实际状态不一致,用户看到"没有SD卡/黑白"却无法自助解决
4云录像漏录人(AI 人形录像缺失)
1 期 · 2 条反馈
62Android8.3.14.2 / 8.4.1.6陈宝旺、唐胜云录像片段的结束判定与人员活动尾段不匹配,导致"人走后最后一段"容易被提前截断;该链路缺少线上埋点,无法量化发生面。
5摄像头预览强制弹广告(8.1.1.11)
2 期 · 3 条反馈
60Android8.1.1.11 / 8.4.1.6待定预览页配置了启动广告位(默认 3 秒),用户感知为"每次打开摄像头先弹广告",属商业化投放与体验的取舍,非技术缺陷。
6设备换流量卡后过一会儿掉线(Android 8.4.1.6)
1 期 · 2 条反馈
60Android8.4.1.4 / 8.4.1.6张威设备更换 4G 流量卡后,P2P 长连接未能持续保活(心跳中断),服务端/P2P 下发 TPS_MSG_P2P_OFFLINE,App 侧表现为"过一会儿设备掉线";客户端链路(WebSocket、设备列表接口)全程正常,非 App 缺陷。
7NVR 回放埋点覆盖严重不足(数据盲区)
1 期 · 1 条反馈
60——陈宝旺、唐胜NvrDeviceVideoPlayback 事件实际上未被有效触发/上报(NVR 场景落到通用 DeviceVideoPlayback),导致 NVR 回放问题长期处于监控盲区
8HarmonyOS 1.1.1.11 回放不可用
3 期 · 5 条反馈
—HarmonyOS1.1.1.11 / 1.1.1 / 8.4.1.6陈宝旺、冉博麟、李国涛、唐胜(本期未收敛到单一根因)
9Android 8.3.14.2 添加设备时局域网搜索为空
1 期 · 1 条反馈
—Android8.3.14.2陈宝旺局域网搜索依赖SDK按网卡名枚举本机IP,当日志显示本机IP与网卡名均为空时,扫描与登录都拿不到可用网络接口,添加设备流程无法继续;但用户是否已连接摄像头热点、是否授予定位与局域网权限尚未确认。
10打开 App 正常预览后闪退重启
1 期
—Android8.3.14.2唐胜、张威当前仅能确认预览成功后发生了用户侧闪退反馈,神策有崩溃背景,但代表 Logan 没有对应致命栈,暂不能定位到播放、渲染或生命周期的具体根因。

🔴 问题 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 直查):

日期DeviceVideoPlaybackCloudPlaybackNvrDeviceVideoPlaybackNvrMonitorFrameResult
10-0121,386,726300,678312,289
10-0221,217,479300,792111,673
10-0321,264,463298,46119,984
10-0421,148,772298,102—10,702
10-0520,869,650294,960614,497
10-0620,955,030297,484115,229
10-0720,750,554297,855314,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,58884.1%
null未上报/中断2,583,00512.4%
SA106001回放超时225,8331.09%
SA106007设备离线161,4160.78%
SA106006取设备时间返回空158,8760.77%
SA106008无 SD 卡(未插入)50,3100.24%
SA106012SD 卡未初始化38,4770.19%
SA106010SD 卡读写异常35,4650.17%
SA106005获取设备时间错误23,9750.12%
SA106009SD 卡异常3,7460.02%
SA106013SD 卡初始化错误4,0810.02%
SA106011SD 卡只读错误1,7930.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=false
  • PlayBackPage-|07:40.15.217| [KLog][PlayBackPage]:fetchPlaybackSdCardInfo start, devId=17461507-CH-2, wakeDeviceType=201
  • PlayBackPage-|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=0
  • LibImpl-onNvrReplayResp, act=0, have audio=1, video codec=H265 → 首帧随后到达(L2038 onRecvFirstFrame)
  • 多通道切换时 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 encountered
  • 07: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 完全吻合
  • 修复方向锚点:
  1. NvrRecord.java:1911 附近:isWifiIPC() 之外的设备(NVR/通道)也应进入 SD 状态判定与提示,或明确提示"NVR 通道不支持卡回放,请用云回放"
  2. PlayBackEvent.kt:363-372:sdState 语义与设备侧上报的 sdAbnormal 枚举需再对齐一次(尤其 -4/-5 是否与固件实际返回一致)
  3. VideoRecordActivity.java:1238 与 NvrRecord.java:1910:两处 SD 逻辑应抽公共判断,避免一端修一端漏

7. 根因结论

  • 置信度:🟡 中
  • 一句话根因:回放失败中 SD 相关码(无卡/未初始化/读写异常)合计约 13.4 万次/天且长期存在,主因是部分设备(非 wifi IPC / NVR 通道)SD 状态判定与提示路径不生效或与设备实际状态不一致,用户看到"没有SD卡/黑白"却无法自助解决
  • 关键证据链:神策 DeviceVideoPlayback.errorCode 分布(SA106008/012/010 稳定高位)+ Logan skip sd info request reason=not wifi ipc + 代码 NvrRecord.exceptionViewShow 的 isWifiIPC() 门槛 —— 三方互相印证

8. 建议下一步

  • 分配给:Android 客户端 + 设备侧协议(SD 状态字段)
  • 优先处理项:
  1. 明确 NVR/非 wifi IPC 设备的 SD 状态提示策略(提示文案 + 是否支持卡回放判定)
  2. 抽查 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. 神策证据(核心数据源)

  • NvrDeviceVideoPlayback 10-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(Logan L2097 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 多通道设备走一遍回归

本期扫描全量(全部沉淀到知识库)

#关键词反馈数分类处置
2回放显示没有SD卡 / 彩色变黑白 / 回放自动黑屏3🔴 进雷达详细分析见问题 1
3老是掉线 / 显示离线 / 掉线需拔电源重启6🟡 配置/设备侧排除(多为设备侧网络与供电,未形成跨用户 App 侧共性);FB 255994 同用户 x2 重复
4云录像最后一次人走录不到 / 云录像有时没录到人2🟡 配置排除(单用户,AI 人形检测灵敏度类,属产品调优)
5消息里有人画面保存的是图片不是视频1🟡 配置排除(单条,需复现)
6老是显示未格式化 / 显示未插入存储卡2🟠 关联与问题 1 同源(SD 状态),并入问题 1 证据
7HarmonyOS「网络不行」「我的最起码D我估摸」乱码2🟤 无效反馈排除(无有效信息)
8心愿单接口(触顶 200 条)200🟤 建议类排除(产品建议,非功能故障)
已折叠 1 条普遍性网络问题(含 -102/-101/-1002 与中/英/俄/法/西/葡/土/阿/日多语言网络提示模板,如 Проверьте телефонную сеть、Please check your mobile network);全量明细见同名 Markdown 知识库。

排除明细:🟢 用户操作 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)

🗂️历史期次

查看全部历史期次(近 90 天)→