视频直播服务支持哪些直播流播放协议?
华为云视频直播服务支持RTMP、HTTP-FLV和HLS三种播放协议。
- RTMP协议比较全能,既可以用来推流,又可以用来播放直播流。其工作方式是将较大块的视频帧和音频帧“剁碎”,然后以小数据包的形式在互联网上进行传输,且支持加密,因此安全隐秘性比较理想,但拆包组包的过程比较复杂,所以在请求海量并发时易出现一些不可预期的稳定性问题。RTMP基于flash无法在iOS的浏览器中播放,但是实时性比HLS好。
 - HTTP-FLV协议工作方式是在大块的视频帧和音视频头部加入一些标记头信息,由于工作方式简洁,因此请求海量并发时比较稳定,延时小;用作手机端APP直播协议很合适,但是在手机浏览器上的支持却很有限。
 - HLS协议工作方式是将视频流分成5-10秒的多个小的基于HTTP的小分片文件来下载,然后用m3u8索引表进行管理。由于客户端下载到的视频都是5-10秒的完整数据,故视频的流畅性很好,但同样引入了很大延迟(HLS的一般延迟在10-30s左右)。相比于FLV,HLS对浏览器兼容较好,支持跨终端,因此常用于社交软件的URL分享。
 
| 
       播放协议  | 
     
       协议  | 
     
       原理  | 
     
       延时  | 
     
       优缺点  | 
    
|---|---|---|---|---|
| 
       RTMP  | 
     
       TCP长连接  | 
     
       每个时刻收到的数据即刻发送。  | 
     
       与推流端GOP相关: 
  | 
     
      
  | 
    
| 
       HTTP-FLV  | 
     
       TCP长连接  | 
     
       数据头部添加标记,通过HTML5解封包播放。  | 
     
      
  | 
    |
| 
       HLS  | 
     
       HTTP短连接  | 
     
       集合一段时间数据生成ts切片文件,更新m3u8文件。  | 
     
       10S~30S。  | 
     
      
  |