为什么会有不同的视频格式?
网页视频领域有三种主要的传输方法。每种方法都是为了解决不同的问题而设计的。了解它们有助于您明白为什么有些视频很容易下载,而另一些视频则不然,以及 getvy 在幕后是如何处理每种类型的。
HLS
HTTP Live Streaming(HTTP 实时流媒体)
由苹果公司于 2009 年开发。是当今互联网上使用最广泛的流媒体协议。它将视频作为 .m3u8 播放列表中列出的一系列小 .ts 分片文件进行传输。在 Safari 中原生支持,在 Chrome 和 Firefox 中通过媒体源扩展(Media Source Extensions)支持。
DASH
Dynamic Adaptive Streaming(动态自适应流媒体)
来自 MPEG 组织的一个国际标准,也称为 MPEG-DASH。工作原理与 HLS 类似,但它使用 .mpd XML 清单文件,且通常以分片 MP4(fragmented MP4)格式而非 .ts 格式传输分片。YouTube 的大多数流媒体都使用 DASH。
MP4
直接文件
通过普通 URL 传输的单个、完整的视频文件。最简单的格式 —— 浏览器直接下载并播放它。常用于自托管视频、新闻短片以及任何不使用自适应流媒体的网站。
关键技术差异
| 特性 | HLS | DASH | MP4 |
| 播放列表/清单 | .m3u8 | .mpd (XML) | 无 |
| 分片格式 | .ts (MPEG-TS) | fMP4 或 .ts | 单个文件 |
| 自适应码率 | ✅ 是 | ✅ 是 | ❌ 否 |
| DRM 支持 | FairPlay | Widevine / PlayReady | 视情况而定 |
| getvy 支持 | 完全支持(浏览器内 MP4) | ffmpeg 命令 | 完全支持(直接下载) |
自适应码率流媒体详解
HLS 和 DASH 都支持 自适应码率 (ABR) 流媒体。这意味着服务器以多种画质级别(例如 1080p、720p, 480p、360p)提供同一个视频。播放器监控您的网络速度,并在播放过程中自动切换到更高或更低画质的流,以防止缓冲。这就是为什么流媒体视频即使在网络连接慢的情况下也很少暂停 —— 它只是降低到较低的画质。
主播放列表(或主清单)列出了所有可用的画质版本。getvy 读取此主播放列表并选择最高画质的流进行下载。
受 DRM 保护的流媒体会怎样?
数字版权管理 (DRM) 在 HLS 或 DASH 之上添加了一个额外的加密层。视频分片是使用只有获得授权的播放器才能获取的密钥进行加密的。getvy 不会绕过 DRM —— 它仅适用于未受保护的流。这意味着它无法从 Netflix、Disney+、Amazon Prime Video 或其他使用 DRM 的主要订阅服务下载内容。
如何识别视频使用的格式
- 打开 Chrome 开发者工具 (F12) 并转到网络 (Network) 标签页。
- 过滤“媒体 (Media)”或搜索“.m3u8”或“.mpd”。
- 点击播放视频。如果您看到 .m3u8 请求,它就是 HLS。如果您看到 .mpd 请求,它就是 DASH。如果您看到直接的 .mp4 URL,它就是普通文件。
- 或者,只需安装 getvy —— 它会自动识别检测到的每个视频,并将其标记为 HLS、DASH 或 MP4。