Skip to content

Downloading m3u8 playlists

Tools:

Example: yt-dlp

Known quirks:

  • This path requires the Referer header to be set.
  • It can be different for other streams/playlists.
  • Tested on WSL Kali.
bash
yt-dlp \
--add-header "Referer: https://iframe.example.com/" \
"https://cdn.example.com/cb20398e-27a7-4033-81de-2fe97bbefbef/1440p/video.m3u8"

Example: ffmpeg

More complex and less user-friendly. Also outputs .mkv (not .mp4) by default:

bash
ffmpeg \
-protocol_whitelist "file,http,https,tcp,tls,crypto" \
-headers "Referer: https://iframe.example.com/\r\n" \
-extension_picky 0 \
-f hls \
-allowed_extensions ALL \
-i "https://cdn.example.com/cb20398e-27a7-4033-81de-2fe97bbefbef/1440p/video.m3u8" \
-c copy \
output.mkv

Find request header information

Request for .m3u8 in browser with request headers