Seetong · Report

🎯 Seetong 问题雷达 09:00 第 178 期

时间窗口:2026-09-12 21:00 ~ 2026-09-13 09:00

📌TL;DR 核心要点

  • 🔴 打开 App 正常预览后闪退重启(严重度 60/100,置信度弱)。反馈为单条,来自 Android 8.3.14.2;神策存在持续的崩溃与无响应事件,但代表 Logan 没有拿到可确认的 Android 致命栈,暂不能把闪退归因到某个具体播放模块。
  • 🟠 “回放不了”4 条,涉及 HarmonyOS 与 Android;评分 70,但与近 24 小时已分析的回放/远程查看链路重复,本期跳过新增深挖,沿用既有任务和待补证项。
  • 反馈 ID:249979。脱敏原话为“打开 App 正常预览,会闪退重启”。平台为 Android,版本 8.3.14.2,设备为 OPPO 单型号样本。

🔥最近一个月 Top 问题

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

#问题(严重度降序)严重度平台版本负责人问题原因
1设备反复掉线、离线(详细分析)
1 期
100Android · HarmonyOS1.1.1.6 / 8.3.14.2唐胜、张威样本显示设备服务端已下发离线状态或NVR通道P2P建流失败,Android仅忠实消费SDK回调;现有神策缺失失败码,不能断言为单一Relay或客户端缺陷。
2Android 对讲通话,对方无法听到
1 期
75Android8.3.14.2唐胜用户点击对讲按钮后,App 无对讲行为日志,对讲上行链路未建立,可能为 UI 事件未正确触发 Native 对讲逻辑
3iOS 同一用户频繁掉线
1 期
75iOS8.3.14.3欧阳荣该用户设备端(摄像头固件/路由器)在有电有网条件下频繁离线,APP 端无主动触发逻辑,问题出在设备端或网络环境
4人像/人体识别结果缺失(详细分析)
1 期
70Android · HarmonyOS1.1.1.6 / 8.3.12.5许源、唐胜、谭伟、张威目前仅确认两端均出现人像/人体结果缺失,代表设备支持该能力;缺少人形报警事件和配置回包,尚不能归因到 App、设备配置或设备端算法。
5HarmonyOS 实时预览不可用
6 期
—Android · HarmonyOS · iOS1.1.1.6 / 8.3.14.3唐胜、许源、欧阳荣、18671356032(本期未收敛到单一根因)
6NVR多通道视频加载异常(详细分析)
2 期
—Android8.3.14.2张威、唐胜证据更支持特定NVR通道切换后的播放帧输入/解码状态异常,而不是NVR离线、AddWatch失败或全局Relay故障。
7Android 设备回放不可用(详细分析)
1 期
—Android8.3.14.2唐胜、张威本期两条回放投诉不是同一已证实故障,其中一例当天录像索引为空,另一例是 TLS 建连失败后设备渲染超时;共同风险在于客户端未能区分并上报“无录像”与“链路失败”。
8Android设备离线(详细分析)
1 期
—Android8.3.14.2许源、张威该样本的设备在线状态由服务端列表与P2P离线回调共同判定为离线,证据指向设备侧连接或在线状态同步,未见客户端网络整体中断。
9iOS连接不上摄像头(详细分析)
1 期
—iOS8.3.8.5欧阳荣、谭伟仅有单条描述,无法区分设备离线、P2P建连失败、权限限制或客户端显示异常。
10人形侦测漏提醒
1 期
—Android · HarmonyOS—陈宝旺、唐胜、张威、许源(本期未收敛到单一根因)

🔴 问题 1:打开 App 正常预览后闪退重启 | 负责人:唐胜、张威

现象与评分

  • 反馈 ID:249979。脱敏原话为“打开 App 正常预览,会闪退重启”。平台为 Android,版本 8.3.14.2,设备为 OPPO 单型号样本。
  • 评分:反馈量 10 分(单条);共性广度 10 分(单平台、单版本、单样本);业务关键度 40 分(实时预览不可用并导致 App 重启),合计 60 分。
  • 这不是普遍网络问题:反馈描述直接指向 App 进程异常退出,故进入雷达。

神策证据

  • UCCrashed 事件:9 月 6 日至 12 日每日 1,469 ~ 2,575 次;9 月 13 日截至 09:00 为 259 次。9 月 12 日明文原因中有 821 次“程序长时间未响应”、675 次“程序未知原因闪退”;9 月 13 日截至当前分别为 146 次和 109 次。
  • 9 月 13 日还出现 39 次带有 TPSRTC_FindConnectionWithSDP 的 native 调用栈记录,但神策当前分组未提供可关联到反馈 ID、版本或设备型号的完整归因,不能直接认定为 249979 的原因。
  • UCRealPlayResult 9 月 13 日截至当前为 8,502 个用户、2,256,567 次;相较 9 月 12 日完整日的 31,840 个用户、7,484,388 次,属于时间窗口未完的量级变化,不能据此判断预览失败率上升。
  • 事件字段已确认:UCCrashed 有 $app_crashed_reason;实时预览结果事件有 is_success、errorCode、first_frame_time、connect_type 等字段。本期没有拿到按 Android 版本拆分的崩溃明细,数据只能支持“存在共性异常背景”,不能完成版本归因。

Logan 关键日志

  • 反馈 249979 的 Logan 已下载,文件共 66,142 行。L1417 ~ L1454 显示 PlayerPreviewActivity 创建预览页并进入 PreviewPlayerView-startPlay,LibImpl-addWatch 返回 ret:0。
  • L1467 ~ L1472 显示 onMsgRspAddWatch 收到 nResult:0,随后 OpenStreamAgent 和 PlayAgent 均返回 ret:0;L1481 ~ L1489 收到首帧并刷新预览页面。
  • 当前抽取结果没有出现 FATAL、AndroidRuntime 或明确的进程崩溃栈。日志只能证明该样本在一次预览过程中成功建立播放并收到首帧,无法解释用户随后看到的“闪退重启”。
  • 关键上下文:预览成功后约 5 秒执行 PreviewPlayerView-stopPlay,随后 PreviewSession 保存会话并退出预览。需要下次补采崩溃前后完整日志,以及系统 tombstone 或友盟崩溃堆栈。

代码定位与调用链

  • Android 预览超时与首帧处理:Seetong-App-Android/Seetong5.0ForSeetong/Seetong5.0/app/src/main/java/com/seetong/app/seetong/ui/view/video/PreviewPlayerView.kt:800~883、950~955。doRenderTimeout 在 10 秒未收到新帧时按设备在线状态、鉴权状态和设备类型选择 startPlay 或 stopAndStartPlay;onRecvFirstFrame 更新首帧状态。
  • 预览页面入口:.../ui/view/video/act/PlayerPreviewActivity.java:223,由设备列表等入口启动,回调链进入 PlayerContainerFragment 与 PreviewPlayerView。
  • 可能触发路径:预览首帧后,渲染线程或 OpenGL 资源清理异常;或超时重试、停止播放与 Activity 生命周期交叉,造成播放器资源二次释放。当前没有足够日志确认是哪一条。
  • 修复方向锚点:在 doRenderTimeout、stopAndStartPlay、onRecvFirstFrame 及 PlayerDeviceManager 的 doRenderTimeoutStart/Stop 调用点增加设备 ID、播放器对象、渲染器所有权和 Activity 生命周期状态的成对日志,并核对 cleanupOpenGLView 是否可能重复执行。

根因结论与下一步

  • 置信度:🔴 弱。
  • 一句话根因:当前仅能确认预览成功后发生了用户侧闪退反馈,神策有崩溃背景,但代表 Logan 没有对应致命栈,暂不能定位到播放、渲染或生命周期的具体根因。
  • 分配给:Android 播放与稳定性负责人。
  • 优先处理:按反馈 ID 补采崩溃堆栈与系统日志;按 UCCrashed 的 $app_crashed_reason、Android 版本、设备型号拆分 24 小时趋势,确认是否集中在预览场景。
  • 验证方法:在 8.3.14.2 复现“进入预览、收到首帧、退出或切换设备”路径,覆盖前后台切换和连续切换设备;观察崩溃率、OpenGL 释放日志和 PreviewSession 退出状态。

🟠 重复问题:回放不可用,跳过新增深挖

  • 本窗口命中 4 条,包含 HarmonyOS “无法观看回放”和 Android “回放不了”,评分 70:反馈量 20 分、共性广度 20 分、回放关键度 30 分。
  • 与 2026-09-12 H17 及近 24 小时已分析的回放/远程查看链路重复,按去重规则不新增问题占位。
  • 代表反馈 249978 的 Logan 中,L1651 显示设备服务返回录像事件 count:0,L1660 上报 errorCode:SA106006;L1683 ~ L1688 执行停止回放并按日期重新查询,仍返回 count:0。该证据支持“录像索引或查询链路待核对”,但不能证明统一客户端故障。
  • 代码链路:RecordPlayerView.kt:249~252 → BridgeServiceImpl.kt:1873~1874 → LibImpl.java:803~834;当前实现会在 startNvrReplay 返回非 0 时自动重试一次。下一步继续补采设备录像索引、目标日期、首帧耗时和 P2P 状态。

本期扫描全量

#关键词/类型范围分类与处置
2预览闪退重启1 条🔴 评分 60,进入雷达;证据不足,弱置信度
3回放不可用4 条🟠 评分 70;与近 24 小时重复,跳过新增深挖
4报警、云台、画面、恢复出厂、增值服务及无明确内容少量🟡 单点咨询、配置或待补信息,观察或排除
已折叠 1 条普遍性网络问题(含 -102/-101/-1002 与中/英/俄/法/西/葡/土/阿/日多语言网络提示模板,如 Проверьте телефонную сеть、Please check your mobile network);全量明细见同名 Markdown 知识库。
  • 反馈模块:成功返回至少 200 条,接口触及上限;未复用历史数据。
  • 心愿单:返回 0 条;没有心愿单重叠证据。
  • 神策:事件趋势、事件存在性、字段定义和分组查询均成功;UCCrashed 的版本字段本期返回为空,无法完成版本拆分。
  • Logan:预览闪退样本与回放样本各下载成功 1 个;预览样本未提供可确认的致命栈,回放样本未提供完整录像索引返回内容。
  • 友盟:本期反馈包含“闪退”,但友盟接口未调用;神策已提供崩溃事件背景,后续需要按版本和场景补查友盟崩溃堆栈。
  • TAPD:没有已知 BUG 单号,不查历史 Bug 库。
  • 任务账本:不新增任务;回放链路继续沿用已有设备列表错误跟踪任务,状态为 captured,不能视为已验证或关闭。

待补证

  • 为 249979 补采 Android 系统崩溃堆栈、友盟崩溃明细和同版本预览场景切分数据。
  • 为 HarmonyOS 回放反馈补采 Logan;核对 SA106006 对应的录像索引、目标日期和设备端返回码。
  • 继续核对 stopPlay、autoResumePlay 与 OpenGL 资源清理之间是否存在重复释放或生命周期竞态。

本报告已脱敏,不写入手机号、IP、令牌、账号、设备凭据或完整日志认证字段。

本消息由 Seetong小助手 自动生成,欧阳荣 监督发布。

下一期=第 179 期=2026-09-13-H17(今天下午 17:00)。