下载引擎
下载引擎应用程序的核心,负责从源下载视频流。Stream-rec 支持三种下载引擎:Kotlin、FFMPEG和Streamlink。每个下载引擎都有自己的特点和限制。
FFMPEG 下载器是默认的下载器,也是最稳定和可靠的。它是用 C 语言编写的,能够下载 FLV 和 HLS 流。在 CPU 和内存使用方面,它是最有效的下载器。然而,它不支持 HLS 下载的多线程。
1. 引擎功能支持列表
| 功能 | Kotlin | FFMPEG | STREAMLINK |
|---|---|---|---|
| FLV 下载 | ✅ | ✅ | ❌ |
| HLS 下载 | ✅ (多线程) | ✅ | ✅ (多线程) |
| 录制时长统计 | ✅ (不支持原始数据模式) | ✅ | ✅ |
| 下载码率统计 | ✅ | ✅ (不支持无损分段模式) | ✅ (不支持无损分段模式) |
| 大小分段 | ✅ (不支持原始数据模式) | ✅ (不支持无损分段模式) | ✅ |
| 时长分段 | ✅ (不支持原始数据模式) | ✅ | ✅ |
| 下载格式 | 仅 FLV、M3U8、TS、M4S | 支持其他格式 | 支持其他格式 |
| FLV AVC 修复 | ✅ | ❌ | ❌ |
| CPU 占用 | 中 (修复模式) | 低 | |
| 内存占用 | 中 (修复模式) | 低 | 低 |
2. FLV AVC 修复功能列表
| 功能 | 操作 |
|---|---|
| 时间戳跳动 | 修正 |
| 视频头参数变动(分辨率、其他参数) | 分段 |
| 音频头参数变动 | 分段 |
| AMF Metadata 注入(lastheadertimestamp、keyframes...) | 注入 |
| 重复 TAG (实验性) | 忽略 |