Skip to content

Instantly share code, notes, and snippets.

@devinschumacher
Last active September 10, 2025 16:00
Show Gist options
  • Select an option

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

Select an option

Save devinschumacher/d3db93b25c39db6562021668d52ec142 to your computer and use it in GitHub Desktop.
How to download native skool.com videos from Skool (.m3u8 HLS streaming video files download with ffmpeg)

.m3u8 file is a playlist format used by HLS (HTTP Live Streaming).

Instead of being a single video file, it contains URLs to many small video segments (.ts files).

Your browser or media player downloads them on the fly and plays them in order.

In other words: • .mp4 → one solid file • .m3u8 → a list of mini-files streamed in sequence

Watch the video 👇

Method 1: Find the .m3u8 URL

We’re intercepting the video player’s master playlist URL (the .m3u8 file) and downloading all its segments into a single .mp4 file.

  1. Install ffmpeg (Mac: brew install ffmpeg).
  2. Open the video page in Chrome (e.g., Skool classroom video).
  3. Open Developer Tools → Network tab (Cmd+Opt+I on Mac / Ctrl+Shift+I on Windows).
  4. Filter for m3u8.
  5. Click Play on the video.
  6. Look for the top request from stream.video.skool.com (this is the master playlist).
  7. Right-click → Copy → Copy as cURL.

Get this command ready

ffmpeg -headers "Referer: https://skool.com/" \
      -i "" \
      -c copy output.mp4

Example of a 'copy as cURL' that you will be copy & pasting

curl 'https://stream.video.skool.com/ttoH002mbFAgKR1Eeod4Iq402jP9CWuW8uiVeEvn6D1qE.m3u8?token=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJ2IiwiZXhwIjoxNzU0ODU2MDk5LCJraWQiOiJPVjIwMHZ6SWZuZFVCNHdXdTAxbDRjb0hrYTVQQUd3TlYwMEtZSkJrQkppVlFrIiwicGxheWJhY2tfcmVzdHJpY3Rpb25faWQiOiIzMDJ2dXNuVG1lbW1QSzllOUpMaWxaUmpnVkJ3T2hTNlVLdGkyWnhJS2V1WSIsInN1YiI6InR0b0gwMDJtYkZBZ0tSMUVlb2Q0SXE0MDJqUDlDV3VXOHVpVmVFdm42RDFxRSJ9.DEM65MQoPZpRbrZGzFGMCFA_Pwwsl1eMdLC9NqdV_QNHfIAbXkDPXs0Kv1X1G4ohp2Fh0Q7mpmtJL786NJx8moKDyCr5rXOpwViDWwGOhveLQ0m654xqaukkG1hY4Q_z0Dg4re-jk2ReLzxpoJTKVuXD01lW3xxp8El1hLfdkidUqGT3KLJ7R2QS6egU-FJy9SrFcHYLdW3ddQ4HX0XqeXrUMHzQhCBL7x39bSiBPbXEp_77l21KW3vCVocpm5uMc4iP8UFQNm5QTTtXzMB_OucJhDCRrjhBmmj-f-DDWC9iLC6Z57Xkx3kS2iuT3zoVc_MHlvyLuSs6z9nJv95PtQ&CMCD=cid%3D%22ttoH002mbFAgKR1Eeod4Iq402jP9CWuW8uiVeEvn6D1qE%22%2Csid%3D%22bca9b88c-162e-405d-bc93-2c51906943e0%22' \
  -H 'accept: */*' \
  -H 'accept-language: en-US,en;q=0.9' \
  -H 'origin: https://www.skool.com' \
  -H 'priority: u=1, i' \
  -H 'referer: https://www.skool.com/' \
  -H 'sec-ch-ua: "Not(A:Brand";v="99", "Google Chrome";v="133", "Chromium";v="133"' \
  -H 'sec-ch-ua-mobile: ?0' \
  -H 'sec-ch-ua-platform: "macOS"' \
  -H 'sec-fetch-dest: empty' \
  -H 'sec-fetch-mode: cors' \
  -H 'sec-fetch-site: same-site' \
  -H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36'

Method 2: Find the manifest resource

If the first method did not work (or you cant find any m3u8 files, do this instead.

1. Get this command ready

ffmpeg -headers "Referer: https://skool.com/" \
      -i "" \
      -c copy output.mp4

2. Search for manifest instead of m3u8

  1. Right click on the browser and "inspect"
  2. Navigate to the Network tab & type manifest in the search/filter area
  3. Refresh the page
  4. Click on the video to play it



image



  1. Right click on a manifest resource and "Copy as URL" (not cURL)
  2. Paste that URL into the same ffmpeg command from above
ffmpeg -headers "Referer: https://skool.com/" \
      -i "https://manifest-gcp-us-east1-vop1.fastly.video.skool.com/H00jUZdQeNIxkvDZ00lp9JKRVUvbvafiuveoFRGIWbVVJSJCVCp2ogUIsSf02V00oDjPJmB00P3901taxXh7eY00DFw4f01d8NYFU6Ok/rendition.m3u8?cdn=fastly&expires=1756818000&rid=302vusnTmemmPK9e9JLilZRjgVBwOhS6UKti2ZxIKeuY&skid=default&signature=NjhiNmU0NGFfMWMxMjM3NDFlNDA0OTAyMDUwNzUwM2Q2ZWYyZjQ3MTFjMTU5NDY5ZWM2MmIzOWMwMTBmNGFmYzExYzZlYThiMw%3D%3D&vsid=ou1djvysqabRO6MESryczuxgdVO1RVhbCP1jOiCCTddf9pfOtlkA7Af00rypw500Ltle6NvPMkNspbvX6ZomA1a3QFShZhQ8sJk00L7Amoa004YqaAnZ9IQ01fSnsnwCNAhjt&CMCD=cid%3D%22FimsQtrWYlSqyYeM1VJgsxF02QsGi7Lki0202n7iLNjGc8%22%2Csid%3D%22af6a03ce-a195-4bfb-afb3-2924050209e3%22" \
      -c copy output.mp4
  1. Paste it in your terminal



image



Tada!

image
@devinschumacher
Copy link
Author

If you'd rather just have a tool to do all this for you...

👉 Get the SKOOL VIDEO DOWNLOADER: https://serp.ly/skool-video-downloader

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