← Blog.backToBlog

使用 FFmpeg 下载 M3U8 流

7 min read

基本下载命令

把 M3U8 流保存为 MP4:

ffmpeg -i "https://example.com/stream.m3u8" -c copy downloaded.mp4

FFmpeg 获取片段、拼接并写成一个文件。-c copy 避免重新编码。想要图形界面?试试我们免费的在线 M3U8 下载器

下载直播流

直播没有自然结束——请设置时长:

ffmpeg -i "https://example.com/live.m3u8" -t 3600 -c copy live-recording.mp4

-t 3600 录制一小时。提前结束按 Ctrl+C;文件保留已捕获内容。靠近直播边缘;旧片段会过期。

画质选择

# 查看变体
ffmpeg -i "https://example.com/master.m3u8"
# 最高视频 + 音频
ffmpeg -i "https://example.com/master.m3u8" -map 0:v:0 -map 0:a:0 -c copy best.mp4

增大 -map 0:v:N 的最后索引可选更低画质。

恢复中断的下载

FFmpeg 不能真正从播放列表中途续传。若中断,需重启或录较短片段再合并。大任务请用稳定网络,或用带重试的下载器如我们的下载器。另见M3U8 下载失败

受保护 CDN 的请求头

ffmpeg -headers "Referer: https://example.com" -user_agent "Mozilla/5.0" -i "URL" -c copy out.mp4

当 CDN 在没有浏览器式请求头时返回 403 时使用。

常见问题解答

怎么用 FFmpeg 下载 M3U8?
ffmpeg -i "url" -c copy out.mp4

直播能录多久?
-t 决定,或直到 Ctrl+C 停止。

FFmpeg 能续传吗?
对 HLS 没有原生续传——重启或用更短片段。

合法吗?
只下载你有权保存的流。