使用P2P直播双向对讲SDK进行二次开发时,可以通过采集端和播放端的调试LOG信息中的时戳信息和各个阶段的关键LOG信息,分析对讲会话建立的各个阶段所耗费的时间。

以下这个LOG样例是一位开发者用户提供的,我们借此LOG信息进行分析。在这位开发者用户的项目中,两端都是 android 设备。一端通过极光推送发送对讲的呼叫请求给对端,对端收到呼叫请求后,显示界面给用户选择接受还是拒绝。当用户选择应答之后,又通过极光推送把应答发送回呼叫的发起端。然后,再通过P2P直播双向对讲SDK的API建立视频对讲会话。

一. 我们先看采集端(被呼叫端)的LOG信息: 

1.采集端的APP接收极光推送的呼叫请求后,开始初始化P2P SDK,登录到P2P服务器。

C:\Users\ctkj\Documents\Tencent Files\2802173280\Image\Group\Image2\WL$]82T6MCOWTQ[)38J]R(K.png

2.采集端登录P2P服务器成功,耗时500毫秒以下

C:\Users\ctkj\Documents\Tencent Files\2802173280\Image\Group\Image2\K[S3Z25YO{PQ1LRX9T)D7{W.png

3.采集端接收到播放端发送来的P2P连接请求。(这时离采集端登录成功已经过去了4.+ 秒了!这是因为用户点击了界面的“接受”按钮后,还要经过极光推送把应答返回给播放端的APP,播放端的APP才发起P2P连接。)

C:\Users\ctkj\Documents\Tencent Files\2802173280\Image\Group\Image2\OQBQ0EWKEVV2WERRJG`8GOH.png

4.P2P连接建立成功,耗时200毫秒

C:\Users\ctkj\Documents\Tencent Files\2802173280\Image\Group\Image2\(E[Z__(AQ1X_ZQM]TX45V]R.png

5.视频通道建立成功,距P2P连接建立成功的时间点,过去了2.+秒

C:\Users\ctkj\Documents\Tencent Files\2802173280\Image\Group\Image2\]E`FYU6P$VMLPK(O)2]0RA5.png

6.接收到播放端发送来的视频帧数据并开始解码,距视频通道建立成功的时间点,过去了400毫秒

C:\Users\ctkj\Documents\Tencent Files\2802173280\Image\Group\Image2\2I$[4KXR}U8LT$CB27XZFNE.png

7. 解码器需要缓存几帧视频,才能加密出图像,从开始解码到图像出现,大约耗时1秒

C:\Users\ctkj\Documents\Tencent Files\2802173280\Image\Group\Image2\B7B5BHY@3%O3%$~O$5D`PG6.png

所以,从P2P初始化到显示出图像,大概10秒。其中,P2P登录成功后,等待用户接受和极光推送返回呼叫应答用了4.+秒,才有播放端连接请求过来。

8.采集端的LOG信息还显示了刚开始解码时,系统比较繁忙,界面运行不流畅。视频解码不及时导致丢失一些已经接收到视频帧数据。(因为这台android设备只有2核的CPU,性能稍弱)。

C:\Users\ctkj\Documents\Tencent Files\2802173280\Image\Group\Image2\6~OYUN}8}F~Z7RKIO[I$9WL.png

9.采集端的LOG信息还体现出,因为解码不及时丢弃视频帧之后,导致帧号不连续,不能继续解码,需要等到下一个关键帧收到时,才能重新开始解码。导致开始连接时视频画面有卡顿现象。
C:\Users\ctkj\Documents\Tencent Files\2802173280\Image\Group\Image2\YXO0892[54N6T]EI5P%){61.png

 

二. 以下是播放端的LOG信息情况:

1.播放端接收到采集端的呼叫“接受”应答后,初始化P2P SDK开始登录P2P服务器。
C:\Users\ctkj\Documents\Tencent Files\2802173280\Image\Group\Image2\RU73389G6S7WQ{R`(6[AXMM.png

2. 播放端登录P2P服务器成功,耗时700毫秒。

C:\Users\ctkj\Documents\Tencent Files\2802173280\Image\Group\Image2\6QE5T}KZBT{T}_KETYVO(76.png

3.音频通道建立成功,距登录P2P服务器成功,过去了4.+秒。(由于播放端没有开启P2P底层的LOG打印信息,没有看到P2P连接建立的LOG和时间点。)

C:\Users\ctkj\Documents\Tencent Files\2802173280\Image\Group\Image2\S[)V7L$DJVQIONQ~JTP9U02.png

4.视频通道建立成功,距登录P2P服务器成功,过去了4.+秒。

C:\Users\ctkj\Documents\Tencent Files\2802173280\Image\Group\Image2\C[$BS]%_B41~H~DO1D(TQDU.png

5. 接收到视频帧数据并开始解码,距视频通道建立成功,过去了1.+秒

C:\Users\ctkj\Documents\Tencent Files\2802173280\Image\Group\Image2\_A0Z$NK$OI7VK6DVKFNNK%H.png
以上,播放端从初始化P2P SDK到,视频解码开始,耗时7.+秒。

 

三.另外,采集端刚开始传输视频时,还有丢包重传发生,这里也会导致视频传的慢了一点。刚开始视频连接的时候,程序要做的事情有点多,都集中在一起了,系统确实比较忙。(采集端设备CPU性能较弱也是原因)

C:\Users\ctkj\Documents\Tencent Files\2802173280\Image\Group\Image2\QA~E}8_6D`]{9(9EK)K(`JW.png

 

发表评论

邮箱地址不会被公开。 必填项已用*标注

1 + 1 =