1. 什么是HSL?
2. 如何播放?
1. 可以使用 hls.js 播放。
2. 使用播放器插件:DPlayer , 使用过程比较方便简单,但是也需要依赖hls.js 。 下面代码使用该插件播放。
3. 示例代码
Dplayer 简单配置:
const dp = new DPlayer({
container: document.getElementById('dplayer'), // 播放容器
screenshot: true, // 开启截图功能
video: {
url: 'demo.mp4', // 播放视频地址
pic: 'demo.jpg', // 封面
thumbnails: 'thumbnails.jpg' // 缩略图
}
});Vue: 切记放在 mounted 内

播放 Hls 还需要下载 hls.js 依赖。 并初始化。 代码中的type 则是视频类型。
支持类型:'auto','hls','flv','dash','webtorrent','normal'或其他自定义类型 详情看Dplayer 官网说明。
播放很简单。 传入 m3u8 的播放地址即可。

4. 本地自定义 m3u8 播放内容
m3u8 定义文件格式,点击查看。 下面类型转载自(简书-Whyn),前面就是他的介绍链接。
▷ EXTM3U:表明该文件是一个 m3u8 文件。每个 M3U 文件必须将该标签放置在第一行。
▷ EXT-X-VERSION:表示 HLS 的协议版本号,该标签与流媒体的兼容性相关。该标签为全局作用域,使能整个 m3u8 文件;每个 m3u8 文件内最多只能出现一个该标签定义。如果 m3u8 文件不包含该标签,则默认为协议的第一个版本。
▷ EXT-X-VERSION:表示 HLS 的协议版本号,该标签与流媒体的兼容性相关。该标签为全局作用域,使能整个 m3u8 文件;每个 m3u8 文件内最多只能出现一个该标签定义。如果 m3u8 文件不包含该标签,则默认为协议的第一个版本。
▷EXT-X-TARGETDURATION:表示每个视频分段最大的时长(单位秒)。该标签为必选标签。

这里先创建一个m3u8的文本内容, 然后转为 Blob 对象。再使用 URL 转换为 blob 地址。就可以播放了。