广告
— 广告位 In-Article —
为什么需要把 M3U8 转为 MP4?
M3U8 是流媒体播放列表,视频内容被分割成数十甚至数百个 .ts 片段存储在服务器上。这种格式虽然适合在线播放,但存在明显不便:无法直接导入剪辑软件、不能在没有网络的环境播放、不方便长期存档。转换为单一 MP4 文件可以解决这些问题。
⚠ 版权提示:转换前请确认你拥有该视频的合法下载/使用权限。仅建议转换你自己录制的内容、版权已过期的内容,或平台明确授权离线下载的内容。
方法一:StreamFlow 在线转换器(推荐)
访问 StreamFlow 转换页面,全程在浏览器内完成,视频数据不经过任何服务器。
- 复制目标视频的 M3U8 链接(通常以 .m3u8 结尾)
- 粘贴到输入框,设置输出文件名
- 选择并发数(推荐 5,网速好可选 8)
- 点击「开始转换」,等待下载和合并完成
- 点击「下载 MP4」保存到本地
✓ 优势:无需安装任何软件,支持 Windows / Mac / Linux 全平台,视频处理完全在本地进行,隐私安全。适合偶尔转换的普通用户。
方法二:FFmpeg 命令行
FFmpeg 是最通用的视频处理工具,一行命令即可完成转换:
# 最简单的转换命令(直接复制流,不重新编码,速度最快)
ffmpeg -i "https://example.com/video/index.m3u8" -c copy output.mp4
# 如果音频出现问题,加上 aac 修复参数
ffmpeg -i "https://example.com/video/index.m3u8" -c copy -bsf:a aac_adtstoasc output.mp4
# 需要重新编码(改变分辨率或格式时使用)
ffmpeg -i "https://example.com/video/index.m3u8" -c:v libx264 -c:a aac output.mp4
✓ 优势:支持加密 M3U8(需提供密钥)、支持自定义输出格式和编码参数、可处理复杂的多音轨/字幕情况。适合有命令行基础的用户。
方法三:N_m3u8DL-RE(最快速)
这是专门为 M3U8 下载设计的开源工具,支持多线程并发下载,速度比 FFmpeg 快很多:
# 基本用法
N_m3u8DL-RE "https://example.com/video/index.m3u8" -sv best
# 指定保存路径和文件名
N_m3u8DL-RE "https://example.com/video/index.m3u8" -sv best --save-dir ./videos --save-name output
下载地址:github.com/nilaoda/N_m3u8DL-RE,支持 Windows、Linux、macOS。
三种方法对比
| 方法 | 难度 | 速度 | 支持加密 | 适合人群 |
|---|---|---|---|---|
| StreamFlow 在线 | ⭐ 最简单 | 中等 | ✗ | 普通用户 |
| FFmpeg | ⭐⭐ 中等 | 中等 | ✓ | 开发者/高级用户 |
| N_m3u8DL-RE | ⭐⭐ 中等 | 最快 | ✓ | 有下载需求的用户 |
💡 常见失败原因与解决方法
- CORS 错误:目标服务器未授权浏览器跨域读取。请为自己管理的源站配置 CORS,或对获准内容使用本地 FFmpeg
- 片段下载失败:StreamFlow 会立即停止转换,避免输出损坏文件;可降低并发数后重试
- 播放列表不受支持:直播、AES/DRM、fMP4/CMAF、Byte Range 和独立音轨目前会在下载前被拒绝
- Codec 不兼容:浏览器版推荐 MPEG-TS + H.264 + AAC;H.265、AC-3 等流请使用本地 FFmpeg
- 大型视频:转换需要把数据放入浏览器内存,长视频建议使用桌面工具