HLS协议有哪些特别优势

HLS是一种基于HTTP的流媒体协议,支持码率动态自适应和多平台播放,如PC、Android、iOS和微信。点播只需下载一次m3u8文件,直播则需持续更新。此外,文章提到了hls.js用于播放m3u8文件,以及MR虚拟直播、无延迟直播和视频加密安全问题。
摘要由CSDN通过智能技术生成

 阿酷TONY  /  2023-3-3  /  长沙

  • 可以实现码率的动态自适应,清晰度动态成为可能;
  • HLS是基于HTTP 协议的,更易于做各平台的适配与兼容;
  • 多终端跨平台的支持性: PC端, Android端, IOS 平台,微信之类的都支持;
  • 支持CDN的加速分发,因为 HLS 是走 HTTP 协议。

例子:

<video class="tvhou" width="100%" height="100%" 
    controls="controls" autoplay="autoplay" 
    x-webkit-airplay="true" x5-video-player-fullscreen="true" 
    preload="auto" playsinline="true" webkit-playsinline 
    x5-video-player-typ="h5"> 
    <source type="application/x-mpegURL" src="http://www.cuplayer.com/zqlive/game.m3u8"> 
</video> 

对于点播来说,客户端只需按顺序下载二级 m3u8 文件中的片段资源,依次进行播放即可。
对于直播来说,客户端需要定时重新请求二级 m3u8 文件,看是否有新的片段数据需要进行下载并播放。

一、点播
客户端在播放 VOD 模式的视频时其实只需要下载一次一级 index 文件(主播放列表M3U8)和二级 index 文件(媒体播放列表M3U8)就可以得到所有 ts 文件的下载地址,除非客户端进行比特率切换,否则无需再下载任何 index 文件,只需顺序下载 ts 文件并播放就可以了。

二、直播
Live 模式下略有不同,因为播放的同时,新 ts 文件也在被生成中,所以客户端实际上是下载一次二级 index 文件,然后下载 ts 文件,再下载二级 index 文件(这个时候这个二级 index 文件已经被重写,记录了新生成的 ts 文件的下载地址),再下载新 ts 文件,如此反复进行播放。

HLS协议规定:

  • 视频的封装格式是TS。
  • 视频的编码格式为H264,音频编码格式为MP3、AAC或者AC-3。
  • 除了TS视频文件本身,还定义了用来控制播放的m3u8文件(文本文件)。

HLS 标准文件链接:RFC 8216 - HTTP Live Streaming

hls.js如何播放m3u8文件,附一个例子:

<script src="https://cdn.jsdelivr.net/hls.js/latest/hls.min.js"></script>
<video id="video"></video>
<script>
  if(Hls.isSupported()) {
    var video = document.getElementById('video');
    var hls = new Hls();
    hls.loadSource('http://www.cuplayer.com/live/stream.m3u8');
    hls.attachMedia(video);
    hls.on(Hls.Events.MANIFEST_PARSED,function() {
      video.play();
  });
 }
</script>

MR虚拟直播

无延迟直播

视频加密与安全

在线导播台

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值