TXLiteAVSDK 指标监控

常见场景

TXLiteAVSDK通过TXLivePushListener和TXLivePlayListener的onNetStatus 回调,会每隔 1-2 秒将 SDK 内部的状态指标同步出来。例如,移动直播的Demo根据这个回调显示的仪表盘:

直播推流
直播拉流

问题定位

TXLivePushListener

1. 判断推流质量:

指标 说明
VRA + ARA = SPD 说明推流质量好
VRA + ARA > SPD 说明推流质量不佳,并且这种情况的持续时间比较长,音视频数据会堆积在主播的手机上并最终被 SDK 丢弃

2. 卡顿问题:

指标 说明
系统CPU使用率超过80% 音视频编码的稳定性会受到影响,可能导致画面和声音的随机卡顿
系统CPU使用率经常100% 会导致视频编码帧率不足,音频编码跟不上,必然导致画面和声音的严重卡顿
FPS <= 10 视频帧率低于10帧会导致播放端明显卡顿

TXLivePlayListener

QUE参数数值 参数名 单位 含义 计算方式 备注
1834 audio_cache ms 音频缓冲时长
1880 video_cache_ts ms 视频缓冲时长 最新接收的视频帧pts - 当前正在渲染的视频帧pts
47 video_cache_cnt 帧数 videojitterbuff缓冲总帧数 videojitterbuffer本身list的缓冲帧数 + 视频解码器缓冲帧数 video_cache_cnt / fps * 1000 可转换成缓冲时长
4 video_dec_cache_cnt 帧数 视频解码器缓冲帧数
-52 av_recv_interval ms 音视频当前网络收帧时间差 当前最新接收的音频帧pts - 当前最新接收的视频帧pts 标示当前的网络收帧同步状态
-47 av_render_interval ms 音视频当前帧渲染时间差 当前正在播放的音频帧pts - 当前正在渲染的视频帧pts 标示当前播放音画同步的状态
5.0 balance_point ms 平衡点

1. 音画不同步问题:

指标 说明
audio_cache 约等于 video_cache_ts 约等于( 视频缓存总帧数 / fps * 1000 ) 三者相互之间的差值超过500ms会导致音画不同步
av_recv_interval > 500ms 说明引起音画不同步的原因可能是网络收帧的时候就已经不同步,可能的原因是推流的时候已经音画不同步了
av_render_interval > 500ms 说明引起音画不同步的原因可能是SDK播放器的同步策略有问题

2. 播放回声问题:

指标 说明
0 表示没开启回声消除
1 表示使用系统aec
2 表示使用trae

一般回声问题是没开启回声消除导致的。

3. 卡顿问题:

FPS视频帧率低于10帧,当前视频就会明显看到卡顿现象了。

原理参考

1.更多细节参考文档:https://cloud.tencent.com/document/product/454/9867

你可能感兴趣的:(TXLiteAVSDK 指标监控)