如何抓取并下载M4S分段音视频文件?
完整下载M4S分段音视频的可行方案
方法一:浏览器开发者工具批量抓取+命令行下载合并
- 打开Chrome开发者工具(F12),切换到网络面板
- 刷新视频页面并完整播放,确保所有M4S分段请求都被加载
- 在网络面板搜索框输入
m4s,筛选出所有音视频分段请求 - 选中全部M4S请求,右键选择复制→复制所有请求URL
- 将URL粘贴到文本编辑器,整理为每行一个URL的格式
- 用命令行工具批量下载:
- Windows:
wget -i url_list.txt(需提前安装wget) - Linux/macOS:
curl -O -K url_list.txt(每行URL前需添加url =)
- Windows:
- 合并下载的分段文件:
- Windows命令行:
copy /b *.m4s output.mp4 - Linux/macOS终端:
cat *.m4s > output.mp4
- Windows命令行:
方法二:FFmpeg直接抓取流媒体
- 在网络面板搜索
mpd,找到视频的manifest配置文件(XML格式),复制完整URL - 使用FFmpeg命令直接下载并自动合并:
ffmpeg -i "你的MPD文件URL" -c copy output.mp4 - 若平台验证Cookie/Referer,需添加请求头参数:
ffmpeg -headers "Cookie: 浏览器中复制的Cookie内容" -i "MPD文件URL" -c copy output.mp4
方法三:调整InviDownloader匹配规则
- 打开InviDownloader设置,找到分段URL匹配规则
- 将规则修改为通配符匹配可变部分,比如:
https://5a153f939af4b.streamlock.net/academy/77794/chunk_ctvideo_*_mpd.m4s - 重新加载视频页面,启动工具抓取
核心注意事项
- 播放视频时不要关闭开发者工具,避免分段请求丢失
- 部分平台会验证请求头,下载时需确保请求的Cookie、Referer与浏览器一致
- 合并前确认M4S文件顺序正确(可按请求时间戳排序)
内容的提问来源于stack exchange,提问作者Daniel Mizr
相关产品推荐
相关产品推荐

