RTMP协议是应用层协议,是要靠底层可靠的传输层协议(通常是TCP)来保证信息传输的可靠性的。在基于传输层协议的链接建立完成后,一个RTMP协议的流媒体推流需要经过以下几个步骤:握手,建立连接,建立流,推流。
RTMP连接都是以握手作为开始的。建立连接阶段用于建立客户端与服务器之间的“网络连接”;建立流阶段用于建立客户端与服务器之间的“网络流”;推流阶段用于传输视音频数据。
EasyPlayer-RTMP-iOS-工作流程
分析问题
添加fixSleepTime方法,该方法主要是播放器上层用于缓存流媒体数据,使播放更加的平滑,计算播放的2个视频帧之间的时间戳,设置相应的缓存时间。
解决问题
缓存时间的计算方式如下
在解码时,设置usleep的时间: