Skip to content

Instantly share code, notes, and snippets.

@devinschumacher
Last active November 28, 2025 14:22
Show Gist options
  • Select an option

  • Save devinschumacher/17bd267cac6dd2f85729c3559230fae1 to your computer and use it in GitHub Desktop.

Select an option

Save devinschumacher/17bd267cac6dd2f85729c3559230fae1 to your computer and use it in GitHub Desktop.
How to Download Wistia Videos Using Network Requests

πŸŽ₯ How to Download Wistia Videos Using Network Requests

When Wistia hosts a video, it’s not a single .mp4 file β€” it’s delivered through HLS streaming. That means the video is broken into many small .ts chunks, described by a playlist (.m3u8). If you want to save the whole video, you need the playlist URL.

The easiest and most reliable way to find it is through your browser’s Network tab.

Actually its by getting the Wistia Video Downloader πŸ‘ˆ πŸ‘ˆ πŸ‘ˆ πŸ‘ˆ


πŸ”Ž Step 1: Open the Network Tab

  1. Open the page that has the Wistia video.
  2. Right-click β†’ Inspect (or press F12).
  3. Go to the Network tab.
  4. Play the video for a few seconds so requests appear.

πŸ”Ž Step 2: Filter for .m3u8

In the filter box at the top of the Network tab, type:

m3u8

You’ll usually see two kinds of URLs appear:

  • βœ… https://fast.wistia.com/embed/medias/<id>.m3u8 β†’ Master playlist (contains all quality levels).
  • ⚠️ https://embed-cloudfront.wistia.com/deliveries/...m3u8 β†’ Delivery playlist (just one quality).

πŸ‘‰ Always prefer the fast.wistia.com link β€” it gives you the option to choose the best quality automatically.


πŸ”Ž Step 3: Copy the Playlist URL

  1. Right-click on the fast.wistia.com request.
  2. Copy β†’ Copy link address.
  3. Save it somewhere β€” this is the key to downloading.

πŸ’» Step 4: Download with yt-dlp

If you want the best quality automatically:

yt-dlp -f best --no-playlist \
  "https://fast.wistia.com/embed/medias/9xkvdkwqa8.m3u8"

πŸ’» Step 5: Download with ffmpeg

If you prefer direct ffmpeg:

ffmpeg -i "https://fast.wistia.com/embed/medias/9xkvdkwqa8.m3u8" \
  -c copy output.mp4
  • -c copy = don’t re-encode, just join the stream into a clean .mp4.

⚑ Pro Tips

  • Headers: Some videos require a Referer. Copy it from the request in the Network tab:

    yt-dlp --add-header "Referer: https://the.page.url/" "<m3u8-url>"
  • Multiple videos: Use --no-playlist so yt-dlp doesn’t try to fetch everything on the page.

  • Single quality: If you only see a CloudFront deliveries/...m3u8, you can still download it β€” you just won’t get higher resolutions.

  • Cookies: Rarely, Wistia videos require authentication. If you see cookies in the Network request, export them with your browser (or use --cookies-from-browser).

Reliable, fast and go-to

yt-dlp -f best \
  --no-playlist \
  --concurrent-fragments 16 \
  --remux-video mp4 \
  --postprocessor-args "ffmpeg:-movflags +faststart" \
  --add-header "Referer:https://PAGE-YOU-GOT-THE-WISTIA-URL-FROM/" \
  "https://fast.wistia.com/embed/medias/9xkvdkwqa8.m3u8"

βœ… Summary

  • Always start in the Network tab β†’ filter m3u8.
  • Prefer fast.wistia.com/embed/medias/<id>.m3u8 over CloudFront deliveries.
  • Use yt-dlp (best) or ffmpeg (-c copy) to download.
  • Add headers/cookies if needed.

Related

@devinschumacher
Copy link
Author

devinschumacher commented Sep 27, 2025

Prefer a one-click solution?

πŸ‘‰ Get the the Wistia Video Downloader

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment