搭建hls直播流媒体服务器有什么要求?
HLS的基本原理是,当视频流被推送到流媒体服务器时,服务器将接收到的流信息打包成一个全新的TS文件,即切片文件(三块),服务器建立一个m3u8索引文件来维护全新TS段的索引。当播放机获得直播时,从m3u8索引文件之中获取全新的TS视频文件段进行播放,以保证用户每次接入时都能看到更全新的内容,从而实现相似的直播体验。
在点播直播模式之下,当客户端请求时,easynvr会到摄像机后拉流。另外,由于接口返回的速度比视频流快得多,所以当接口返回实时流的地址时,我们间接开始广播。此时,视频流尚未生成切片文件,因此无法广播。在了解了这个原理后,我们修改了代码。在得到直播链接之后,我们等了2-3秒,然后开始广播。我们顺利地完成了。以前的问题也再次出现。(可能你想知道:免费流媒体直播服务器是真的吗?)
简单:作为流媒体协议,HLS非常简单,苹果对它的支持非常完备。Android对 HLS 的支持会越来越好。
跨平台:PC的主要直播解决方案是RTMP。还有一些库可以播放HLS,比如jwplayer,还有很多基于osmf的 HLS 插件。所以事实上,如果你选择一个可以跨PCAndroidIOS的协议,那就是HLS。
CDN分发:目前CDN也是 RTMP 的基本上协议,而 HLS 分发的基础是HTTP,因此CDN的访问和分发将比 RTMP 更完善。它可以在各种CDN间切换,RTMP 也可以,但可能需要进行对接测试。
对IOS有严苛的稳定性要求:当然,最平稳的IOS是HLS,它的性能不亚于 RTMP on pc flash。
总之,SRS主要支持 HLS 作为输出分发协议。直播采用RTMP+HLS发布,覆盖多种应用场景,点播主要为 HLS 。