Skip to content

引擎 (Engines)

下载器是应用程序的核心。它们负责从源头下载视频流。该应用程序支持三种下载器:MesioFFMPEGStreamlink。每个下载器都有其独特的功能和局限性。

TIP

对于 Mesio 用户,我们 强烈建议 启用 FLV 一致性修复HLS 一致性修复。即使源流遇到时间戳跳变或网络中断等问题,这些功能也能确保录制的文件保持可播放性和一致性。

FFMPEG 下载器是默认下载器,也是最稳定可靠的选择。它使用 C 语言编写,能够下载 FLV 和 HLS 流。它对各种流媒体场景具有极佳的兼容性,包括支持 FLV/RTMP 容器中的非标准 HEVC。在 CPU 和内存使用率方面,它是最高效的下载器。但是,它不支持 HLS 下载的多线程。

NOTE

我们 Docker 镜像中提供的 FFMPEG 版本是来自 yt-dlp/FFmpeg-Builds 的专用构建版本。该版本针对流媒体进行了优化,包含(或已合并入上游)了许多确保与 yt-dlp 顺畅集成的关键补丁,例如修复 AAC HLS 流截断问题、支持 Windows 长路径以及解码 FLV 容器中的非标准 HEVC。

1. 引擎功能列表

功能MesioFFMPEGSTREAMLINK
FLV 下载
HLS 下载
(多线程)

(多线程)
录制时长统计
(不支持原始数据模式)
下载码率统计
(不支持 -f segmentation)

(不支持 -f segmentation)
按大小分段
(不支持原始数据模式)

(不支持 -f segmentation)
按时长分段
(不支持原始数据模式)
下载格式FLV, M3U8, TS, M4S支持其他格式支持其他格式
FLV 一致性修复✅ (推荐)
HLS 一致性修复✅ (推荐)
CPU 使用率最低
内存使用率最低

2. FLV 一致性修复功能列表

功能引擎操作
时间戳跳变使用增量修复
视频头更改 (分辨率、其他参数)分割文件
音频头更改分割文件
AMF 元数据注入 (lastheadertimestamp, keyframes...)注入
重复 TAG (实验性)忽略

3. 原始数据模式 (Raw Data Mode)

原始数据模式是 Mesio 引擎支持的一种高性能下载模式。在该模式下,引擎会将从网络接收到的流数据直接写入磁盘,而不对内部媒体包(头信息、帧、元数据)进行解析或处理。

主要特点:

  • 极致性能:由于不进行包解析或重采样(Re-muxing),CPU 和内存占用被降至绝对最低。
  • 零开销:非常适合高带宽流或资源受限的环境(如入门级 NAS 或 VPS)。仅在网络稳定且 CDN / 流来源没有数据波动(如媒体头部信息变更)时推荐使用。

局限性:

由于不检查包结构,启用原始数据模式时,以下高级功能将无法使用:

  • 数据统计:无法实时计算录制时长和下载码率统计。
  • 自动分段:引擎无法检测帧边沿或时长,因此无法按大小或时长进行精确分段。
  • 修复功能:无法应用 FLV 一致性修复或 HLS 一致性修复,因为这些功能需要包级别的操作。

4. HLS 一致性修复 (Mesio 独占)

当使用 Mesio 引擎下载 HLS 流时,HLS 一致性修复功能可以在数据写入最终文件之前,自动检测并解决常见的 HLS 传输问题,如时间戳不连续或分段缺失。这确保了录制内容在播放时更加流畅。

Released under the MIT License.