移动直播LiteAVSDK,仪表盘指标监控

2019-03-12 11:44:17 浏览数 (1)

简介

移动直播TXLiteAVSDK有两个基本组件

- TXLivePusher 上行推流

- TXLivePlayer 下行拉流

您可以为 LivePusher 对象绑定一个TXLivePushListener,之后 SDK 的内部推流状态信息均会通过 onPushEvent(事件通知) 和 onNetStatus(状态反馈)通知给您

为TXLivePlayer 对象绑定一个TXLivePlayListener,之后 SDK 的内部播放状态信息均会通过 onPlayEvent(事件通知) 和 onNetStatus(状态反馈)通知给您

状态监控

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.更多细节参考文档:sdk指标监控

0 人点赞