关键词
RTSP
RTSP(Real Time Streaming Protocol),实时流传输协议,是TCP/IP协议体系中的一个应用层协议。
RTMP
RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写,是Adobe Systems公司为Flash播放器和服务器之间音频、视频和数据传输 开发的开放协议。该协议基于TCP,是一个协议簇,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种。RTMP是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。支持该协议的软件包括Adobe Media Server/Ultrant Media Server/red5等。
HLS
Apple的动态码率自适应技术。主要用于PC和Apple终端的音视频服务。包括一个m3u(8)的索引文件,TS媒体分片文件和key加密串文件。常用的流媒体协议主要有 HTTP 渐进下载和基于 RTSP/RTP 的实时流媒体协议,这二种基本是完全不同的东西,目前比较方便又好用的是用 HTTP 渐进下载方法。在这个中 apple 公司的 HTTP Live Streaming 是这个方面的代表。它最初是苹果公司针对iPhone、iPod、iTouch和iPad等移动设备而开发的流.现在见到在桌面也有很多应用了,HTML5 是直接支持这个。
横向比较
- 一旦切分完成,之后的分发过程完全不需要额外的服务软件,普通网络服务器即可,大大降低了CDN边缘服务器的配置需求。
- 分发协议通常使用常见的HTTP协议,所以代理服务器对这个协议的缓冲优化就相当成熟。相比之下,很少代理服务器会对RTSP协议流数据进行缓存优化,这对软件播放实时视频就有相当大的优势,因为这样的分发策略,对源服务器的负载压力小得多。
- 对于非实时视频,同样也有类似的好处,比如你要在一个长达一个小时的视频中跳转,如果使用单个MP4格式的视频文件,并且也是用HTTP协议,那么需要代理服务器支持HTTP rang request以获取大文件中的一部分,不是所有代理服务器都对此有良好的支持。而HTTP Live Streaming则只需要根据列表文件中的时间轴找出对应TS片即可完成次任务,不需要range request,对代理服务器的要求小很多,所有代理服务器都支持小文件的高效缓存。
- 由于不需要预先加载索引文件,大大减少了首次载入的延迟(如果MP4的媒体文件比较长,索引文件很大,那么会出现很大的延迟)。