美文网首页
常见的流媒体传输协议

常见的流媒体传输协议

作者: 兰帕德 | 来源:发表于2019-12-08 16:47 被阅读0次

    RTP

    RTP(Real-time Transport Protocol)实时传输协议 是一个由IETF(The Internet Engineering Task Force,国际互联网工程任务组)提出的网络传输协议。
    RTP用来为IP网上的音频、视频、传真等多种需要实时传输的多媒体数据提供端到端的实时传输服务,RTP协议详细说明了在互联网上传输音频和视频的数据包格式。
    RTP为Internet上端到端的实时传输提供时间信息和流同步,但不能证服务质量,服务质量由RTCP来提供。因此,用于流媒体系统时,RTP和RTCP一起使用,而且它是创建在UDP协议上的。

    RTCP

    RTCP(Real-time Transport Control Protocol)实时传输控制协议 是由IETF定义的一个与RTP配套的协议,负责管理传输质量,提供流量控制和拥塞控制服务。RTCP为RTP流媒体提供信道外(out-of-band)控制。RTCP本身并不传输数据,但是和RTP一起合作将多媒体数据打包和发送。
    RTP与RTCP的配合使用可以使传输效率最佳化,故常用于实时数据的传输。

    SRTP&SRTCP

    SRTP(Secure Real-time Transport Protocol)安全实时传输协议实在RTP的基础上所定义的一个协议,用于单播和多播应用程序中实时传输协议的数据提供加密、消息认证、完整性保证和重放保护。
    因为RTP和RTCP有着紧密的联系,相应的,就有了SRTCP(Secure RTCP)安全实时传输控制协议,SRTCP为RTCP提供的特性,类似于SRTP为RTP提供的特性。

    HLS

    HLS(Http Live Streaming) 是苹果公司(Apple Inc.)动态码率自适应技术,是基于HTTP的流媒体传输协议,可以实现流媒体的直播和点播。最初是针对苹果的iOS设备(iPhone、iPad、iTouch等)而提供的音频、视频直播和点播方案。值得一提的是,Android设备也支持该协议。
    相比于其他常见的流媒体直播协议,HLS最大的区别在于,客户端获取到的,并不是一个完整的数据流,HLS协议在服务器端将直播数据流存储为连续的、时长很短的媒体文件(MPEG-TS格式),而客户端则不断的下载并播放这些小文件,因为服务器端总是会将最新的直播数据生成新的小文件,这样客户端只要不停的按顺序播放从服务器获取到的文件,就实现了直播。基本上可以认为,HLS是以点播的技术方式来实现直播。由于数据通过HTTP协议传输,所以完全不用考虑防火墙或者代理的问题,而且分段文件的时长很短,客户端可以很快的选择和切换码率,以适应不同带宽条件下的播放。不过HLS的这种技术特点,决定了它的延迟一般总是会高于普通的流媒体直播协议。

    RTSP

    RTSP(Real Time Streaming Protocol)实时流传输协议是TCP/IP协议中的一个应用层协议。该协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据。RTSP在体系结构上位于RTP和RTCP之上,它使用TCP或UDP完成数据传输。
    HTTP请求由客户机发出,服务器作出响应,而使用RTSP时,客户机和服务器都可以发出请求,即RTSP可以是双向的。RTSP是用来控制声音或影像的多媒体串流协议,并允许同时多个串流需求控制,传输时所用的网络通讯协定并不在其定义的范围内,服务器端可以自行选择使用TCP或UDP来传送串流内容,它的语法和运作跟HTTP 1.1类似,但并不特别强调时间同步,所以比较能容忍网络延迟。

    RTMP

    RTMP(Real Time Messaging Protocol)实时传输协议是一个基于TCP的协议族,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种。RTMP是 Adobe Systems 公司为 Flash 播放器和服务器之间音频、视频和数据传输开发的开放协议。由于基于FLash播放器,故无法在iOS的浏览器播放,但是iOS中可以借助于librtmp-iOS使用RTMP进行推流。

    相关文章

      网友评论

          本文标题:常见的流媒体传输协议

          本文链接:https://www.haomeiwen.com/subject/nyyktxtx.html