网页直播/点播播放器支持http-flv/rtmp/m3u8等播放音视频流媒体播放器EasyPlayer-RTMP-iOS卡顿问题的解决及设置方法

背景分析

RTMP协议是应用层协议,是要靠底层可靠的传输层协议(通常是TCP)来保证信息传输的可靠性的。在基于传输层协议的链接建立完成后,一个RTMP协议的流媒体推流需要经过以下几个步骤:握手,建立连接,建立流,推流。

RTMP连接都是以握手作为开始的。建立连接阶段用于建立客户端与服务器之间的“网络连接”;建立流阶段用于建立客户端与服务器之间的“网络流”;推流阶段用于传输视音频数据。

EasyPlayer-RTMP方案架构

EasyPlayer-RTMP-iOS-工作流程

网页直播/点播播放器支持http-flv/rtmp/m3u8等播放音视频流媒体播放器EasyPlayer-RTMP-iOS卡顿问题的解决及设置方法_第1张图片

EasyPlayer-RTMP-iOS播放卡顿的问题如何解决?

分析问题

添加fixSleepTime方法,该方法主要是播放器上层用于缓存流媒体数据,使播放更加的平滑,计算播放的2个视频帧之间的时间戳,设置相应的缓存时间。

解决问题

缓存时间的计算方式如下

网页直播/点播播放器支持http-flv/rtmp/m3u8等播放音视频流媒体播放器EasyPlayer-RTMP-iOS卡顿问题的解决及设置方法_第2张图片

在解码时,设置usleep的时间:

网页直播/点播播放器支持http-flv/rtmp/m3u8等播放音视频流媒体播放器EasyPlayer-RTMP-iOS卡顿问题的解决及设置方法_第3张图片

你可能感兴趣的:(EasyPlayer-RTMP)