FFmpeg M3U8 参数速查 — copy、请求头与排错
7 min read
M3U8 输入选项
| 参数 | 用途 |
|---|---|
-i url.m3u8 | 输入播放列表 URL/文件 |
-protocol_whitelist | 允许 http/https/crypto 协议 |
-allowed_extensions ALL | 需要时允许 .m3u8 扩展名 |
-headers | 自定义 HTTP 头 |
-user_agent | 自定义 User-Agent |
不用命令行?用免费M3U8 转 MP4 或播放器;下文参数面向自动化。
输出选项
| 参数 | 用途 |
|---|---|
-c copy | 流复制(快、无损) |
-c:v libx264 | 视频重编码 H.264 |
-c:a aac | 音频重编码 AAC |
-crf N | 画质(越低越好;约 18–28) |
-preset | 编码速度 vs 压缩 |
-t N | 时长限制(直播捕获) |
-ss N | 起始偏移 |
-bsf:a aac_adtstoasc | MP4 的 AAC 修复 |
流选择
-map 0:v:0——第一/最高视频-map 0:a:0——第一音轨-vn——无视频-an——无音频-sn——无字幕
排查参数
-loglevel debug——详细日志-stats——进度(默认)-y——覆盖输出-n——从不覆盖
示例配方
# 无损 MP4 ffmpeg -i "u.m3u8" -c copy -bsf:a aac_adtstoasc o.mp4 # 一小时直播 ffmpeg -i "live.m3u8" -t 3600 -c copy rec.mp4 # 带请求头 ffmpeg -user_agent "Mozilla/5.0" -i "u.m3u8" -c copy o.mp4
命令手册:HLS 命令参考。
不用命令行?用免费M3U8 转 MP4 或播放器;下文参数面向自动化。
常见问题解答
哪个参数保持画质?-c copy
哪个修复 MP4 里的 AAC?-bsf:a aac_adtstoasc
怎么限制直播录制时长?
用秒为单位的 -t
怎么选更低画质?
改映射如 -map 0:v:1