FFmpeg M3U8 Flags Cheatsheet — Copy, Headers & Fixes
7 min read
Input Options for M3U8
| Flag | Purpose |
|---|---|
-i url.m3u8 | Input playlist URL/file |
-protocol_whitelist | Allow http/https/crypto protocols |
-allowed_extensions ALL | Allow .m3u8 extension when needed |
-headers | Custom HTTP headers |
-user_agent | Custom User-Agent |
No CLI? Use our free M3U8 to MP4 converter or player in the browser—FFmpeg flags below for automation.
Output Options
| Flag | Purpose |
|---|---|
-c copy | Stream copy (fast, lossless) |
-c:v libx264 | Re-encode video H.264 |
-c:a aac | Re-encode audio AAC |
-crf N | Quality (lower better; ~18–28) |
-preset | Encode speed vs compression |
-t N | Duration limit (live capture) |
-ss N | Start offset |
-bsf:a aac_adtstoasc | AAC fix for MP4 |
Stream Selection
-map 0:v:0— first/highest video-map 0:a:0— first audio-vn— no video-an— no audio-sn— no subtitles
Troubleshooting Flags
-loglevel debug— verbose logs-stats— progress (default)-y— overwrite output-n— never overwrite
Example Recipes
# Lossless MP4 ffmpeg -i "u.m3u8" -c copy -bsf:a aac_adtstoasc o.mp4 # One hour live ffmpeg -i "live.m3u8" -t 3600 -c copy rec.mp4 # With headers ffmpeg -user_agent "Mozilla/5.0" -i "u.m3u8" -c copy o.mp4
Command cookbook: HLS commands reference.
No CLI? Use our free M3U8 to MP4 converter or player in the browser—FFmpeg flags below for automation.
Frequently Asked Questions
Which flag preserves quality?-c copy
Which flag fixes AAC in MP4?-bsf:a aac_adtstoasc
How do I limit live recording length?-t in seconds
How do I pick a lower quality?
Change stream maps like -map 0:v:1