一般情况下,RTMP推流 +FLV播放的正常延迟在2-3s左右,若您的直播出现延迟时间过长的现象,可参考以下方式进行性能优化。
GOP设置
GOP:(Group of Pictures)画面组,一个GOP就是一组连续的画面,每个画面都是一帧,一个GOP就是大量帧的集合。直播的视频数据流,其实是一系列的视频帧率组件,包括I帧、P帧等。一个GOP就是以一个I帧,多个P帧开始。当用户第一次观看的时候,播放器需要找到I帧才能开始播放,而播放器会到服务器寻找到最近的I帧反馈给用户。因此,减少GOP帧的数量,能减少播放器加载GOP帧所用的时间。在直播推流端GOP一般建议设置为1~2s。
播流协议选择
华为云 视频直播 服务支持RTMP、HTTP-FLV和HLS三种播放协议。
RTMP协议:rtmp://播放 域名 /AppName/StreamName
FLV协议:http://播放域名/AppName/StreamName.flv
M3U8协议:http://播放域名/AppName/StreamName.m3u8
RTMP:其原理是将大块的视频帧和音频帧“剁碎”,然后以小数据包的形式进行传输,且支持加密,因此隐私性相对比较理想,但由于拆包组包的过程较复杂,所以在海量并发时也容易出现一些不可预期的稳定性问题。
HLS:苹果推出的流媒体协议,将视频分成5-10秒的视频小分片,然后用m3u8索引表进行管理,由于客户端下载到的视频都是5-10秒的完整数据,故视频的流畅性很好。但一般播放器会在缓存3-4个分片后才启动播放,因此也引入了10-30s左右的延时。
HTTP-FLV:由Adobe公司主推,格式极其简单,只是在大块的视频帧和音视频头部加入一些标记头信息,在延迟表现和大规模并发方面都很成熟。但需要注意的是HTTP-FLV在手机浏览器上的支持非常有限。
因此,在降低延时方面,选择HTTP-FLV作为播放协议能有效地降低时延。但HLS对浏览器兼容比较友好,且支持跨终端,所以HLS也是很多用户的首选。
现在华为云828活动火热进行中,新客直播流量包1TB111.5元/年,快来华为云一键开启视频直播加速~
版权声明:本文章文字内容来自第三方投稿,版权归原始作者所有。本网站不拥有其版权,也不承担文字内容、信息或资料带来的版权归属问题或争议。如有侵权,请联系contentedit@huawei.com,本网站有权在核实确属侵权后,予以删除文章。