当前位置: 首页 > Web前端 > HTML5

为什么安全互联网直播服务中没有针对HTML5的实时低延迟视频流协议?

时间:2023-04-05 22:18:31 HTML5

RTMP协议,我们最常用的流媒体协议,在网络和硬件条件好的情况下,可以达到1-3s左右的延迟。也是主流视频直播中最常用的协议,像我们的安防流媒体服务器也支持该协议的视频流输出。为什么直到现在HTML5上还没有实时(延迟<3s)视频流协议?理论上,使用websocket+AVCTS是可以实现的,但是一般情况下总会遇到很多实际问题。在h5页面中,如果要使用RTMP或者HTTP-FLV,需要开发基于浏览器的插件。但是,浏览器有很多种。同时,基于其他浏览器做插件基本不可能。苹果开放了HLS协议,无需插件即可在h5中播放,解决了h5页面无法直播的问题。但是对于直播来说,HLS协议还存在很多问题:1、播放需要多次请求,对网络质量的要求更高。2.延迟约10s。延迟为5s。看10分钟后,延迟可能达到50秒。4、只能支持推流,不能推流。H5播放直播的场景主要是分享给以ios和Android为主要平台的第三方应用,通过hls协议拉取流量,为app引流。另外HLS理论上可以做到3秒以内的延迟,这个要看你的ts分片的大小和一个m3u8里面存了多少ts分片的索引。如果一个m3u8存储6个ts分片索引,每个分片5s,那么至少有30s的延迟。只要减少分片的时长,比如250ms/分片,一个m3u8只存一个ts分片,那么理论上延迟只有250ms。但是在这种情况下,每秒至少有4个HTTP请求,而且由于每个ts分片都有一个I帧,需要传输的带宽就大大增加了。会给服务器带来很大的压力,增加流量的消耗,所以一般很难有一个兼顾带宽、延迟、服务器降压的HLS方案。