m3u8 文件是一种播放列表格式,主要用于 HTTP 流媒体传输(HLS:HTTP Live Streaming),由苹果公司推出,广泛用于在线视频播放(如直播、点播)。
.m3u8 是基于 UTF-8 编码的 M3U 播放列表文件,描述了一个 HLS 视频流中所有的媒体段(.ts 文件)和播放规则。
下载m3u8文件
1、找到m3u8文件链接
打开网页-开发者工具,或邮件选择“检查”,打开开发者工具:

在开发中工具中,找到“网络”,更多过滤条件选择“全部”,在筛选栏中输入“m3u8”:

按Command + R刷新网页,可以在列表中查看到m3u8文件:

这里显示两个m3u8文件,实际上是视频的两种播放格式。
点击一个m3u8文件,可以看到请求网址:

需要注意的是,m3u8文件的网址可能和访问的视频网站不一致,例如“标头”中的“请求网址”为:
https://v8.gggread.com/wjv8/202507/28/ynChxuvuyV80/video/index.m3u8
2、安装ffmpeg并使用ffmpeg
在mac终端中,使用brew命令下载ffmpeg:
brew install ffmpeg
使用ffmpeg命令,直接下载并合并m3u8视频:
ffmpeg -i "完整.m3u8地址" -c copy -bsf:a aac_adtstoasc video.mp4
例如,我们前面的m3u8地址:
ffmpeg -i "https://v8.gggread.com/wjv8/202507/28/ynChxuvuyV80/video/index.m3u8" -c copy -bsf:a aac_adtstoasc video.mp4
这个命令会直接下载m3u8文件,下载完成后会自动转换为对应的视频文件。

总结
通过ffmpeg命令可以下载m3u8文件。
如果使用ffmpeg命令发生403报错,则需要添加请求头:
ffmpeg -headers "Referer: https://www.yfsp.tv/\r\nUser-Agent: Mozilla/5.0" \
-i "完整.m3u8地址" -c copy -bsf:a aac_adtstoasc output.mp4