HLS是Apple的开放标准,在Android3?以上也原生支持.
HLS的主要优势是:
性能高:和HTTP一样。
穿墙:和HTTP一样。
原生支持很好:IOS上支持完美。Android上支持差些。PC/flash上现在也有各种as插件支持HLS。
HLS的主要劣势是:
实时性差:基本上HLS的延迟在10秒以上。
文件碎片:若分发HLS,码流低,切片较小时,小文件分发不是很友好。特别是一些对存储比较敏感的情况,譬如源站的存储,嵌入式的SD卡。
RTMP,实时消息传输协议,Real Time Messaging Protocol,是 Adobe Systems 公司为 Flash 播放器和服务器之间音频、视频和数据传输开发的开放协议。协议基于 TCP,是一个协议族,包括 RTMP 基本协议及 RTMPT/RTMPS/RTMPE 等多种变种。RTMP 是一种设计用来进行实时数据通信的网络协议,主要用来在 Flash/AIR 平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。
相对于 HLS 来说,采用 RTMP 协议时,从采集推流端到流媒体服务器再到播放端是一条数据流,因此在服务器不会有落地文件。这样 RTMP 相对来说就有这些优点:
延时较小,通常为 1-3s。
基于 TCP 长连接,不需要多次建连。
因此业界大部分直播业务都会选择用 RTMP 作为流媒体协议。通常会将数据流封装成 FLV 通过 HTTP 提供出去。但是这样也有一些问题需要解决:
iOS 平台没有提供原生支持 RTMP 或 HTTP-FLV 的播放器,这就需要开发支持相关协议的播放器
RTMPS
是RTMP的另一个变种,与RTMPT的区别在于,它使用https安全连接
RTMPT
RTMP的变种,相当于RTMP用http包装后的协议,可穿越防火墙
AMF
AMF(是Action Message Format的缩写)是在flash和flex中与远程服务端交换数据的一种格式.
它是二进制格式,Flash应用与服务端或数据库通过RPC交换数据时,通常都采用这种格式。
AMF 1 诞生于Flash Player6,发展到现在已经变成了了AMF3