【流媒体】rtmphls 协议 梳理、比较( 二 )


5.系统容错:容错有很多种级别,RTMP的集群实现时可以指定N上层,在错误时切换不会影响到下层或者客户端,另外RTMP的流没有标识,切到其他的服务器的流也可以继续播放 。HLS的流热备切换没有这么容易 。若对于直播的容错要求高,譬如降低出问题的概率,选择RTMP会是很好的选择 。
6.可监控:在监控系统或者运维系统的角度看,流协议应该比较合适监控 。HTTP的流监控感觉没有那么完善 。这个不算绝对优势,但比较有利 。
劣势:
1.协议复杂:RTMP协议比起HTTP复杂很多,导致性能低下 。测试发现两台服务器直连网络中,HTTP能跑到,但是RTMP只能跑到,CPU占用率RTMP要高很多 。复杂协议导致在研发,扩展,维护软件系统时都没有HTTP那么方便,所以HTTP服务器现在大行其道,/nginx/,N多HTTP服务器;而RTMP协议虽然早就公开,但是真正在大规模中分发表现良好的没有,adobe自己的FMS在CDN中都经常出问题 。
2.Cache麻烦:流协议做缓存不方便 。譬如点播,若做RTMP流协议,边缘缓存RTMP会很麻烦 。如果是HTTP,缓存其实也很麻烦,但是HTTP服务器的缓存已经做了很久,所以只需要使用就好 。这是为何点播都走HTTP的原因 。
HLS
优势: