直播录制
通过 M3U8/DASH 协议录制直播流,支持实时解密和 Android。
Ghost Downloader 可以录制任何通过 HLS (M3U8) 或 DASH (MPD) 协议分发的直播流。录制由 N_m3u8DL-RE 运行时驱动——桌面端在设置中一键安装,Android 端已内置。
发起录制
将直播的 M3U8 或 MPD 清单链接粘贴到应用中。应用会自动检测清单是否为直播流(HLS 判断 #EXT-X-ENDLIST 是否缺失,DASH 判断 type="dynamic")。
如果清单是多码率的主清单,任务草稿卡片会显示分辨率选择下拉框,可以选择具体的码率档位。
直播任务的任务草稿卡片还会显示录制时长上限设置——通过时:分:秒的三个数字框填写。留空表示不限时长,录到手动停止为止。
录制过程
录制开始后,任务卡片显示实时状态:
- 已录制时长和总时长上限(如果设置了上限)
- 当前状态:「录制中」或「等待中」(等待下一轮清单刷新)
- 实时下载速度
直播录制不支持暂停。录制进程持续拉取清单、下载新分片并实时合并。任务卡片上的开始/停止按钮在录制中变为确认图标,点击后终止录制进程并将已录制内容定案。
实时解密
如果直播流使用 AES-128 或其他加密方式,N_m3u8DL-RE 支持在下载时实时解密 MP4 分片(设置 → M3U8 下载 → MP4 实时解密,默认开启)。也可以在任务草稿卡片中手动提供解密密钥(KID:KEY 格式),或指定 KEY 文本文件。
解密引擎默认使用 FFmpeg,也可切换为 MP4Decrypt 或 Shaka Packager(需要自行提供可执行文件路径)。
录制结束
录制在以下情况结束:
- 达到设置的时长上限
- 用户点击停止按钮
- 直播结束(清单标记为 endlist)
- 应用退出
前三种情况下,已录制的内容会被合并为完整文件。第四种情况(应用退出或崩溃)下,下次启动时应用会将未完成的直播录制标记为已完成——因为直播流不支持断点续录,已下载的分片就是最终结果。
输出文件格式为 .ts(MPEG-TS),不会像点播任务那样自动混流为 MP4 或 MKV。
相关设置
设置 → M3U8 下载 中与直播录制相关的选项:
| 设置项 | 作用 |
|---|---|
| 直播保留原始分片 | 实时合并后仍保留已下载的原始分片文件 |
| 直播管道混流 | 录制时通过管道交给 FFmpeg 实时混流为封装容器 |
| 直播校正 VTT 字幕 | 根据音频起始时间校正 VTT 字幕时间轴 |
| 直播刷新等待时间 | 两次拉取直播清单之间的等待秒数,0 为自动 |
| 直播每次取片数 | 每次刷新最多取走的分片数量,0 为自动 |
已知限制
- 直播录制不支持暂停和恢复。停止即定案,无法接续。
- 输出固定为
.ts格式。如需转换为 MP4,可使用 FFmpeg 手动混流。 - 如果录制过程中网络中断超过分片有效期,该段录制会缺失。