Web 前端如何播放 HLS(.m3u8) 视频

HTTP Live Streaming (HLS) has become a de-facto standard for streaming video on mobile devices thanks to its native support on iOS and Android. Unfortunately, all the major desktop browsers except for Safari are missing HLS support.

WEB 上主流的视频直播方案有 HLS 和 RTMP,移动 WEB 端目前以 HLS 为主(HLS存在延迟性问题,也可以借助 video.js 采用RTMP),PC端则以 RTMP 为主实时性较好

移动端 iOS 和 Android 都天然支持HLS协议,做好视频采集端、视频流推流服务之后,便可以直接在H5页面配置 video 标签播放直播视频, HLS 在 PC 端仅支持safari浏览器,类似chrome浏览器使用HTML5 video标签无法播放 m3u8 格式,可直接采用网上一些比较成熟的方案



移动端可直接通过 <video> 标签来播放 .m3u8 格式的视频: 

参考代码:

<video class="vjs-tech" 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://dlhls.cdn.zhanqi.tv/zqlive/22578_yKdJM.m3u8">
</video>


PC端需要通过其他手段(videojs-contrib-hls)来解码 .m3u8 格式的视频, 才能够通过 <video> 标签或者 flash 来播放





  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
HLS.js 是一种流媒体播放器库,主要用于在网页上实现 HTTP Live Streaming (HLS) 视频播放功能。而 M3U8 则是一种基于文本的播放列表文件格式,常用于描述 HLS 视频的分片信息。 HLS.js 提供了一套 JavaScript 接口,通过解析 M3U8 文件以及下载和解码视频分片,实现了在网页上流畅播放 HLS 视频的功能。它可以在现代浏览器上运行,包括桌面和移动设备的浏览器。 使用 HLS.js,开发者可以通过简单的 HTML 代码来嵌入视频播放器,并配置播放器参数来自定义播放器界面和功能。HLS.js 支持自适应码率(Adaptive Bitrate)播放,可根据用户的网络情况动态调整视频的质量。 在 HLS 中,视频被切成多个分片,并以 M3U8 文件的形式描述每个分片的 URL 信息。HLS.js 能够通过解析 M3U8 文件,根据网络情况自动选择合适的分片进行缓冲和播放。同时,HLS.js 还支持预加载、跳转、重试等常见的播放器功能。 HLS.js 还提供了一些 API 和事件,使开发者能够对播放器进行控制和自定义。通过这些接口,我们可以动态改变播放状态、获取播放进度、监听播放事件等。 总的来说,HLS.js 是一个非常实用的工具,可以让开发者方便地在网页上实现 HLS 视频播放功能。通过使用 M3U8 文件来描述分片信息,HLS.js 能够根据网络情况进行自适应码率播放,提供流畅的视频体验。同时,HLS.js 还提供了丰富的 API 和事件,使开发者能够对播放器进行灵活的控制和自定义。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值