赞
踩
HLS推流,我们一般常用的搞法是通过ffmpeg接收直播流,进行转码切片后,将生成的ts放在磁盘上通过nginx代理进行对外推流服务,基于这种情况HLS直播降低延迟主要集中在以下几个点
1.将磁盘进行虚拟化,虚拟内存设置,将磁盘设置虚拟内存的工具有很多。这样可以降低磁盘IO,减少延迟
2. 直接将ts存储在内存当中,由内存存储ts数据,推流时直接从内存当中获取ts 数据。大大降低延迟。当然内存的频率高低也非常影响延迟,如windows下ddr3 ,ddr4内存不一样,速率不一样,ssd更佳。 ffmpeg 可以使用 -put指令来实现。 直播的化,要注意将内存中的ts 定时删除老的,避免内存无线膨胀。做回看可以在定时任务中将内存中的ts 持久化到磁盘,并提供对外http服务即可
3. HLS协议一般会在生成3个ts文件后,方可进行播放,所以缩短ts切片时长也是一个方法
4.未来:苹果推出了LL-HLS方案,不过目前没有可以直接使用的框架组件
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。