推流诊断
从设备接入到可以播放,按一次 TCP 连接完整还原全过程
正在推流-
历史连接批次-
日志占用估算-
历史日志保留-
单次连接最多日志-
当前推流 0
只显示每个 streamId 最新建立的 TCP 会话| 状态 | streamId | 批次 | 设备 / 通道 | 编码 | 观看 | 协议包 | 视频 / 音频帧 | 媒体量 | 建连时间 | 最后数据 |
|---|
当前没有推流
历史推流 0
停止后一小时内保留;点击展开/收起
历史推流 0
停止后一小时内保留;点击展开/收起| 状态 | streamId | 历史批次 | 远端地址 | 编码 | 协议包 | 视频 / 音频帧 | 开始时间 | 停止时间 | 持续时间 |
|---|
暂无历史推流
推流详情
请从上方选择一条当前或历史推流
设备 TCP 首帧画面
每次设备新建媒体 TCP 时自动记录首个可独立解码的完整关键帧;同一稳定回放会话最多保留最近 20 次,连接停止后仍随历史批次保留一小时。
正在等待本次推流的首个完整关键帧…
最新画面与接收时间对照
点击后等待设备下一张完整关键帧,只解码一次 JPEG。未点击时不缓存最新画面,也不会持续截图。
点击“获取最新画面”后,会显示画面对应帧在 Camera 服务端开始接收和完成接收的准确时间。
+877 ms 是什么意思?表示这件事发生在本次 TCP 建连后的第 877 毫秒。它是耗时,不是钟表时间。
时间从哪里开始算?下方“启动耗时”全部以设备 TCP 建连为 0 ms,越早到达通常越好;“尚未到达”表示流程还没走到。
怎么定位慢在哪里?先看相邻节点“比上一步多用”,再点击对应流程阶段,只保留该阶段日志。
启动耗时
统一从 Netty channelActive(真实 TCP 建连,0 ms)开始计算
流程阶段
点击阶段可筛选日志,再次点击恢复全部
过程日志
日志术语看不懂?展开查看 streamId、PT、分包、P 帧等说明
streamId
一条设备视频流的唯一标识。
一条设备视频流的唯一标识。
traceId / 连接批次
一次 TCP 连接的唯一标识,重连后会变化。
一次 TCP 连接的唯一标识,重连后会变化。
PT
协议中的媒体编码类型编号,用于判断 H264、AAC 等格式。
协议中的媒体编码类型编号,用于判断 H264、AAC 等格式。
I 帧 / 关键帧
可独立解码的完整画面;播放器通常必须先等到它。
可独立解码的完整画面;播放器通常必须先等到它。
P 帧
依赖前面画面的增量视频帧,不能作为播放起点。
依赖前面画面的增量视频帧,不能作为播放起点。
分包
一个媒体帧可能拆成首包、中间包、尾包,合齐后才能组帧。
一个媒体帧可能拆成首包、中间包、尾包,合齐后才能组帧。
负载
当前协议包携带的音视频数据大小,不包含协议头。
当前协议包携带的音视频数据大小,不包含协议头。
设备时间戳
设备内部的媒体时间线,不是实际钟表时间。
设备内部的媒体时间线,不是实际钟表时间。
FFmpeg
整理或转码设备媒体,再推送给流媒体服务。
整理或转码设备媒体,再推送给流媒体服务。
SRS
真正对播放器提供直播流的流媒体服务。
真正对播放器提供直播流的流媒体服务。
Service
业务服务;流就绪或停止时由 Camera 通知它。
业务服务;流就绪或停止时由 Camera 通知它。
选择一条推流后,这里会显示启动耗时、流程阶段和详细日志