什么是 HLS?
HLS 代表 HTTP Live Streaming(HTTP 实时流媒体)。它是苹果公司开发的一种视频传输协议,目前已被全球绝大多数流媒体平台使用。与发送单个大视频文件不同,HLS 将视频分成多个小分片(通常每个 2-10 秒)并按顺序传输。扩展名为 .m3u8 的播放列表文件起着目录的作用,告诉播放器去哪里寻找每个分片。
这种方法对流媒体服务有几个好处:它可以实时根据您的网络速度调整视频画质、几乎可以即时开始播放,并且比普通的 MP4 链接更难下载。然而,getvy 视频下载器正是专为处理 HLS 流而设计的。
getvy 如何下载 HLS 视频
当您访问播放 HLS 视频的页面时,您的浏览器会发出网络请求以获取 .m3u8 播放列表及其分片。getvy 在后台监控这些请求并自动捕获播放列表 URL。当您启动下载时,它会:
1
读取播放列表
获取 .m3u8 文件并解析所有分片 URL 列表,包括主播放列表中的任何不同画质版本。
2
并行下载分片
同时获取最多 6 个 .ts 分片,这比逐个下载要快多达 6 倍。
3
在浏览器中转换为 MP4
使用 ffmpeg.wasm(ffmpeg 的 WebAssembly 移植版本),完全在您的浏览器内部将所有 .ts 分片拼接成单个 .mp4 文件。没有任何内容会被发送到服务器。
逐步操作:下载 HLS 视频
- 从 Chrome 应用商店安装 getvy 视频下载器,并将其固定到您的工具栏上。
- 导航到包含您要下载的视频的页面,然后点击“播放”以开始加载视频。
- 观察工具栏中的 getvy 图标 —— 它会显示一个数字标记,表示已检测到的视频源数量。
- 点击 getvy 图标打开弹出窗口。您将看到检测到的视频 URL 列表。HLS 流会被标记为 HLS,并显示 .m3u8 地址。
- 点击您要下载的流旁边的下载按钮。将打开一个新标签页,显示下载和转换进度。
- 等待转换完成(长视频可能需要一分钟左右)。转换完成的 MP4 将自动保存到浏览器的默认下载文件夹中。
画质选择
许多 HLS 流使用一个主播放列表,其中列出了多个画质级别(例如 1080p、720p、480p)。getvy 会自动选择可用的最高画质进行下载。如果流使用的是单一画质的播放列表,则直接使用该画质。
排查常见 HLS 问题
扩展程序图标未显示数字标记
扩展程序仅检测安装并加载页面后发出的请求。请刷新页面并再次点击播放。同时确保视频确实已开始缓冲,而不仅仅是显示缩略图。
下载中途停止
网络不稳定或服务器速率限制可能会中断分片下载。保持下载标签页在前台并重试。对于非常长的视频,使用 ffmpeg 命令选项(复制到剪贴板)并在本地运行,比浏览器内转换更为可靠。
转换速度慢
ffmpeg.wasm 在浏览器内部的 CPU 上运行。转换速度因设备而异。一台现代笔记本电脑通常可以在 2-5 分钟内转换一个一小时的视频。为了获得更快的转换速度,请复制 ffmpeg 命令并在终端中原生运行。