今日头条
流媒体传输协议也是直播开发过程中的必备“项目”之一,直播中常用的流媒体协议主要有RTP、RTCP、RTSP、RTMP、HLS。其中的每一种传输协议都有各自的优缺点,适用于不同的直播环境和需求。云豹直播系统最常用的流媒体传输协议是RTMP,有的客户曾经问过我们为什么不用HLS作为常用的流媒体传输协议,那么今天就来给大家解惑一下为什么只用HLS协议作为辅助使用。
1. 两种协议的定义
RTMP是现在编码器输出的工业标准协议,基本上所有的编码器(摄像头之类)都支持RTMP协议。
HLS是由苹果公司提出的基于HTTP的流媒体网络传输协议,属于切片式传输,延时较大。
2.HLS的优点
HLS传输协议主要应用在ios系统,为ios设备提供音视频直播和点播方案,当然现在HLS也可以支持Android系统。由于数据是通过HLS协议进行传输,所以不需要考虑防火墙的问题,而且分段文件的时长都很短,客户端能很快的选择和切换码率去适应不同带宽条件下的播放。其实总体来看,HLS最大的优势就是苹果在自己的IOS系统上只提供对HLS的原生支持,也就是说在开发ios端时需要用到HLS。
3.HLS的缺点
HLS传输协议最大的缺点就是延时高,一般在10-15秒左右。像直播这种对实时性互动性要求很高的app,如果使用HLS传输协议,可能会给直播带来一定的延时影响,用户在观看时也会产生较差的直播观看体验,所以在开发直播软件时,都会选择延时性低的传输协议。
4. 选择RTMP为主HLS为辅的原因
RTMP协议是目前直播平台应用最多的流媒体传输协议,因为RTMP协议的延时低(大约在1-5秒之内),所以相比起HLS协议,RTMP更适用于直播。再加上RTMP支持的很完善,能做到flash播放RTMP流长时间不断流,在稳定性方面也是有保证的。之所以用HLS协议作为辅助使用,因为HLS在ios系统最为稳定,虽然现在也可以在Android系统使用,但是相对来说还是RTMP更适合用于直播。所以在开发实时性和互动性要求高的直播系统时,都会选择RTMP协议并且把HLS协议作为辅助协议使用,目前HLS协议主要应用在手机wap页面以及微信观看页面。
通过以上内容我们不难看出,在直播开发的过程中,选择一个合适的传输协议是十分重要的。由于HLS协议的局限性和延时高的缺点,对于HLS协议我们只是作为辅助使用。当然,如果是对实时性和互动性要求不是很高的比如点播,是完全可以使用HLS协议的。只不过对于目前的直播市场来讲,RTMP是最常用的传输协议。
全部0条评论
快来发表一下你的评论吧 !