使用 <link rel="preload"> 在 HTML 中预加载 m3u8 视频

Preloading an m3u8 video in HTML with <link rel="preload">

我正在使用 <link rel="preload"> 属性预加载我的视频以加快播放速度。

但是我的视频是一个 .m3u8 文件,它是一个 link 到几个分块 .ts 文件的播放列表文件。

为了成功预加载我的视频,我是否应该link到播放列表文件

<link rel="preload" as="video" href="https://cdn.com/file.m3u8">

link 到源文件,像这样:

<link rel="preload" as="video" href="https://cdn.com/file1.ts">
<link rel="preload" as="video" href="https://cdn.com/file2.ts">
<link rel="preload" as="video" href="https://cdn.com/file3.ts">

您应该从 <video> 标签 link 到 m3u8,因为您希望浏览器在运行时确定用户可以支持流式传输的带宽。

如果您的 m3u8 格式正确并表明它是一个 VOD 文件(而不是实时流),那么某些浏览器将尝试从中预加载片段 - 在大多数情况下更好地使用它们的逻辑。