初识RTMP、HttpFlv和HLS
理解RTMP、HttpFlv和HLS的正确姿势 一、前述 HttpFlv(http+flv ):将音视频数据封装成FLV格式,然后通过 HTTP 协议传输给客户端。 HLS(HTTP Live Streaming):工作原理简单来说就是把一段视频流,分成一个个小的基于HTTP的文件来下载。当媒体流正在播放时,客户端可以根据当前网络环境,方便地在不同的码率流中做切换,以实现更好的观影体验。 hls的出现是为了解决苹果原生环境中的流媒体播放,这个协议可以方便的让Mac和iPhone播放视频流,不依赖Adobe,更不用去管什么标准委员会。 就苹果来说,HLS经过10年的发展,RFC 8216发布了HLS的第七个版本。Adobe早已是昨日黄花,未来已来,这是一个Html5的世界。在视频播放领域,全民直播已经开启,这是一个实时性需求强于稳定性的播放环境。苹果也跟曾经的Adobe一样,猜中了故事的开始,却踩空了这个故事的结局。 二、三个协议基本认识 两端加一服 在开始之前,先把流媒体服务器中的双端关系说一下。在一个完整的流媒体服务框架中,角色就是:两端加一服。推流端、拉流端、媒体服务器。 同时按照应用场景不同,协议又分: 1.推流协议; 2.拉流播放协议; RTMP可以用在双端,但HLS只能用在拉流端 2.1为什么RTMP比HLS快? 首先,这个问题发生在拉流端,协议也都是拉流协议