Ghost Downloader

直播录制

通过 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(需要自行提供可执行文件路径)。

录制结束

录制在以下情况结束:

  1. 达到设置的时长上限
  2. 用户点击停止按钮
  3. 直播结束(清单标记为 endlist)
  4. 应用退出

前三种情况下,已录制的内容会被合并为完整文件。第四种情况(应用退出或崩溃)下,下次启动时应用会将未完成的直播录制标记为已完成——因为直播流不支持断点续录,已下载的分片就是最终结果。

输出文件格式为 .ts(MPEG-TS),不会像点播任务那样自动混流为 MP4 或 MKV。

相关设置

设置 → M3U8 下载 中与直播录制相关的选项:

设置项作用
直播保留原始分片实时合并后仍保留已下载的原始分片文件
直播管道混流录制时通过管道交给 FFmpeg 实时混流为封装容器
直播校正 VTT 字幕根据音频起始时间校正 VTT 字幕时间轴
直播刷新等待时间两次拉取直播清单之间的等待秒数,0 为自动
直播每次取片数每次刷新最多取走的分片数量,0 为自动

已知限制

  • 直播录制不支持暂停和恢复。停止即定案,无法接续。
  • 输出固定为 .ts 格式。如需转换为 MP4,可使用 FFmpeg 手动混流。
  • 如果录制过程中网络中断超过分片有效期,该段录制会缺失。

本页目录