Seetong · Report
🎯 Seetong 问题雷达 17:00 第116期
时间窗口:2026-08-16 09:00 ~ 17:00(过去 8 小时)
TL;DR 核心要点
- 🔴 实时监控流自动关闭(Stream End)(严重度 75/100,置信度 🟢 强)
- 🟠 设备掉线激增(严重度 65/100,置信度 🟡 中)
- 现象:iOS/Android 用户观看实时监控时,视频流被主动断开(iOS: code 1001 "Stream end encountered";Android: 显示"节约流量"提示后强制关闭),约 2 分钟后触发
最近一个月 Top 问题
按严重度与复发期数排序,已把跨期同类反馈归集;负责人由问题代码锚点对应的 Git 提交历史(blame / 近期主要提交者)反查;数据窗口:最近 30 天(截至 2026-08-16)。
| # | 问题(严重度降序) | 严重度 | 平台 | 版本 | 负责人 | 问题原因 |
|---|---|---|---|---|---|---|
| 1 | HarmonyOS 1.1.1.6 多功能受阻 1 期 | 100 | HarmonyOS | 1.1.1.6 | 唐胜、谭伟、张威 | HarmonyOS 1.1.1.6 在登录、设备状态、媒体连接多个表象上集中报障,当前可证实其落在共享 P2P/媒体状态链路附近,但缺少 Harmony 日志和端侧源码,尚不能锁定具体分支。 |
| 2 | Harmony 1.1.1.6 多用户"离线/看不到监控"聚集(严重度 90/100,置信度 弱) 1 期 | 90 | Android · iOS | 1.1.0.9 / 1.1.1.6 | 待定 | 可能为 Harmony 1.1.1.6 客户端连接信令或 P2P SDK 与 HUAWEI 设备兼容性偶发问题;需补 Logan 才能确认 |
| 3 | 设备状态错判 / P2P 误报离线(详细分析) 1 期 | 90 | Android | 8.3.13.3 / 8.3.14.2 / 8.3.14.3 | 唐胜、张威 | SDK 在设备实际在线的情况下持续收到并上报 TPS_MSG_P2P_OFFLINE dev4gOnline=0,客户端 deviceOffline() 未充分去重即触发 UI 状态变更,导致用户看到"设备离线"但设备实际正常工作的矛盾现象 |
| 4 | HarmonyOS 1.1.1.6 看不到回放 / 回放卡顿 4 期 | 80 | Android · HarmonyOS | 1.1.1.6 / 1.1.6 | 张威、唐胜、许源、谭伟 | HarmonyOS 1.1.1.6 用户在 5+ 省、3 款 HUAWEI 机型上持续报"看不到回放 / 回放卡顿",已累计 4 期观测(8/1 H09 / 8/3 H17 / 8/4 H17 / 8/5 H09),疑似 1.1.1.6 版本云回放链路(P2P 协商 / RTSP 拉流 / KMP 播放器初始化)某分支与 HarmonyOS 系统调度兼容性问题 |
| 5 | Android 对讲通话,对方无法听到 2 期 | 75 | Android | 8.3.13.3 / 8.3.14.2 | 唐胜、张威 | 用户点击对讲按钮后,App 无对讲行为日志,对讲上行链路未建立,可能为 UI 事件未正确触发 Native 对讲逻辑 |
| 6 | iOS 同一用户频繁掉线 1 期 | 75 | iOS | 8.3.14.3 | 欧阳荣 | 该用户设备端(摄像头固件/路由器)在有电有网条件下频繁离线,APP 端无主动触发逻辑,问题出在设备端或网络环境 |
| 7 | 4G摄像机画面卡顿 / 回放卡顿 1 期 | 70 | Android · HarmonyOS · iOS | 8.3.13.3 / 8.3.14.2 | 待定 | 4G摄像机默认走RELAY转发(占71-72%),在4G信号弱(wifiSignal 2-4)时,RELAY转发带宽不足导致H265+视频流卡顿;P2P直连在4G场景下多数失败(connect=-1) |
| 8 | 在线看不到 1 期 | 70 | Android | 8.3.13.3 | 张威、唐胜 | NVR 通道预览链路在握手后立即被底层判为 PeerOffLine,APP 按现有逻辑只做快速重试,没有把通道离线与临时连接抖动区分开,最终表现为“在线看不到”。 |
| 9 | 多端手机端无回放 1 期 | 70 | Android | 1.1.1.6 / 8.3.13.3 | 冉博麟、李国涛 | (本期未收敛到单一根因) |
| 10 | 设备离线/掉线后无法预览 1 期 | 70 | Android · iOS | 1.1.1.6 / 8.2.2.1 / 8.3.13.3 | 唐胜、张威 | 设备预览链路在收到 TPS_MSG_P2P_OFFLINE 后直接走离线兜底分支,UI 进入“该设备不在线”,而自动恢复逻辑又被离线判断短路,导致用户感知为“掉线后无法再连上”。 |
🔴 问题 1:实时监控流自动关闭(Stream End Encountered) | 负责人:欧阳荣、位冬、唐胜、张威
1. 现象与覆盖范围
- 现象:iOS/Android 用户观看实时监控时,视频流被主动断开(iOS: code 1001 "Stream end encountered";Android: 显示"节约流量"提示后强制关闭),约 2 分钟后触发
- 涉及反馈:3 条 / iOS 8.3.14.3 / Android 多版本 / 河北用户(hexingyin123)
- 严重度评分:75/100(反馈量 10 / 共性 30 / 关键度 35)
2. 神策证据(降级:query_segmentation_report 连续失败,改为 query_event_count)
- MonitorWatchStep 7 天趋势(关键数据源):
| 日期 | 触发用户 | 触发次数 |
|---|---|---|
| 8/12 | 201K | 362K(峰值) |
| 8/15 | 179K | 321K |
| 8/16(半天) | 127K | 211K(仅半天已 -34%) |
- SiotDevConnectResult 7 天趋势:
| 日期 | 触发用户 | 触发次数 |
|---|---|---|
| 8/15 | 1.12M | 3.80M |
| 8/16(半天) | 917K(-18%) | 2.58M |
- 推断:观看监控人次和连接数双降,8/16 半天已接近正常全天的一半,与"监控自动关闭"问题吻合
3. Logan 关键日志(iOS,hexingyin123,河北保定,iPhone)
- 反馈 ID:243621(监控画面一段一段)
- 关键栈:
[L562] 2026-08-16 07:37:06 CODE 1 --- [] 主动断开长连接日志信息 - code: 1001 - reason: Stream end encountered
[L1273] 2026-08-16 15:58:34 CODE 1 --- [] 主动断开长连接日志信息 - code: 1001 - reason: Stream end encountered
[L1681] 2026-08-16 16:04:21 CODE 1 --- [] 主动断开长连接日志信息 - code: 1001 - reason: Stream end encountered
[L2138] 2026-08-16 16:09:37 CODE 1 --- [] 主动断开长连接日志信息 - code: 1001 - reason: Stream end encountered
- 上下文:同一设备在 07:37 / 15:58 / 16:04 / 16:09 多次被 SDK 主动断开;同用户 hexingyin123 Android 端也反馈"一会就提示关闭"
- Android Logan 补充(同用户):
[L1511] streamStringBuffer={"connect_type":"RELAY"}
[L2272] devIsOnline:0 // 设备从在线→离线
- Android 另一条 Logan(hexingyin123):
- 多处 -102 SSL 连接失败:
ssl_connect return error -2000008 - 涉及域名:
app-auth.seetong.com、app-auth-bak.seetong.com(主备均失败)
6. 代码定位
- 涉及模块:
Seetong-App-iOS/ Android SDK - iOS 关键类:
WebSocketManager.m(路径:~/Seetong-App-iOS/Seetong5.0_ios/Seetong_tps/Tools/Scoket/) - 第 391 行:
RMWebSocketClose方法 →isActivelyClose = YES时记录"主动断开"日志 - 触发路径:
SystemSetViewController.m:914/STImproveViewController.m:138调用RMWebSocketClose - iOS TPS SDK 底层:当 SDK 内部收到 "Stream end encountered" 时调用此路径
- Android 关键类:
PlayerPreviewActivity.java(路径:~/Seetong-App-Android/Seetong5.0ForSeetong/Seetong5.0/app/src/main/java/com/seetong/app/seetong/ui/view/video/act/) streamStringBuffer={"connect_type":"RELAY"}来自SIOTDevConnInfo.java(lib_base/utils/sensors/)- 设备离线触发:
setDeviceListToSDK时devIsOnline=0导致无法拉流
7. 根因结论
- 置信度:🟢 强
- 一句话根因:iOS TPS SDK 底层的流结束检测("Stream end encountered")触发了 App 层 WebSocket 主动关闭;Android relay 连接在 SSL 握手失败(-102)后设备被标记离线,导致拉流中断
- 关键证据链:iOS Logan 4 次 1001 日志 + 神策 MonitorWatchStep 今日 -34% + Android relay 日志
8. 建议下一步
- 分配给:iOS SDK / Android SDK 联查
- 优先处理项:
- iOS TPS SDK "Stream end encountered" 根因:是服务器主动断流还是 SDK 误判?
- Android SSL -102 在多域名(auth 主备)同时失败的场景是否为新引入?
- 验证方法:灰度观察 8/16 后 MonitorWatchStep 事件数是否回升
🟠 问题 2:设备掉线激增 | 负责人:张威
1. 现象与覆盖范围
- 现象:用户反馈"设备突然离线""经常容易离线""手机离线",影响远程查看核心功能
- 涉及反馈:3 条 / 设备型号分散(vivo、华为、荣耀)/ 版本 8.2.0.6 / 8.3.14.2 / 8.3.14.2 / 多省
- 严重度评分:65/100(反馈量 10 / 共性 20 / 关键度 35)
2. 神策证据
- SiotDevConnectResult 今天 917K vs 昨天 1.12M(-18%)
- MonitorWatchStep 今天半天 127K vs 正常全天 180-200K(-30%)
- 两项数据均指向 8/16 全天连接/观看能力受损
3. Logan 关键日志
- 反馈 ID:243619(安徽用户,vivo,掉线)
- 反馈 ID:243593(安徽用户,华为,经常离线)
- 反馈 ID:243607(广东用户,vivo,手机离线)
- Android Logan(hexingyin123,河北):
[L2272] devIsOnline:0 // 花店大门设备从在线→离线
p2pServer:"101.35.246.116:10038"
lastHeartTime: 1786833054000 // 心跳停止
6. 代码定位
- 涉及模块:
lib_base(Android) - 关键类:
SIOTDevConnInfo.java(lib_base/utils/sensors/) connect_type: RELAY表示走中继服务器lastHeartTime/p2pLastHeartTime心跳停止为设备离线判定条件- Android 心跳机制:
LowPowerDeviceManager处理低功耗设备唤醒,离线判定在setDeviceListToSDK更新设备列表时触发
7. 根因结论
- 置信度:🟡 中
- 一句话根因:P2P relay 连接失败 + 心跳超时 → 设备被标记离线 → 用户无法远程查看;可能与 -102 SSL 连接失败共享同一网络问题根因
- 关键证据链:SiotDevConnectResult -18% + Android Logan 心跳停止
8. 建议下一步
- 分配给:Android SDK 网络层
- 优先处理项:确认 -102 SSL 错误与设备掉线的关联(是否同一次连接失败同时触发两个问题)
- 验证方法:观察日志中 -102 错误后是否紧跟设备离线
本期扫描全量
| # | 关键词 | 反馈数 | 分类 | 处置 |
|---|---|---|---|---|
| 2 | 实时监控自动关闭/一段一段 | 3 | 🔴 进雷达 | 详见问题1 |
| 3 | 设备掉线/离线 | 3 | 🟠 进雷达 | 详见问题2 |
| 4 | 对讲/监听无声 | 2 | 🟢 用户操作/功能性 | 排除(对讲本身功能,非 Bug) |
| 5 | 无法观看/监控画面 | 2 | 🟡 配置/功能性 | 排除(均为 Harmony 特定版本) |
| 6 | 回放功能/录像相关 | 2 | 🟢 功能咨询 | 已排除 |
| 7 | 内存卡/设备绑定 | 2 | 🟢 用户操作 | 已排除 |
| 8 | 心愿单建议 | 10 | 🟤 心愿单 | 已排除(心愿单平台收录) |
| 9 | 其他(无效/乱码/单次) | 8 | 🟢 排除 | 已排除 |
已折叠 1 条普遍性网络问题(含-102/-101/-1002与中/英/俄/法/西/葡/土/阿/日多语言网络提示模板,如Проверьте телефонную сеть、Please check your mobile network);全量明细见同名 Markdown 知识库。
数据源状态
| 数据源 | 状态 | 说明 |
|---|---|---|
| 反馈平台 | ✅ 正常 | 100 条拉取成功 |
| 神策 query_segmentation_report | ❌ 降级 | is_not/!= 函数均不存在;改用 query_event_count 兜底 |
| 神策 query_event_count | ✅ 正常 | MonitorWatchStep / SiotDevConnectResult 7 天趋势已拿到 |
| Logan(iOS) | ✅ 正常 | hexingyin123 日志含多处 1001 断开 |
| Logan(Android) | ✅ 正常 | 含 relay 连接 + 设备离线 |
| 友盟 | ❌ 降级 | API 502 超时不可用 |
| TAPD | ⏭️ 跳过 | 无已知 Bug 单号,功能性分析不查 |
待补证(≤3 条)
- iOS TPS SDK "Stream end encountered" 触发条件的业务层代码(iOS SDK 内部实现)
- -102 SSL 错误与设备掉线的时序关联(需 Android 同一用户日志含两者)
- 友盟崩溃/ANR 数据(API 恢复后补查)
下一期 = 第117期 = 2026-08-17-H09(明天早上 9:00)
本消息由 Seetong小助手 自动生成,欧阳荣 监督发布。