Question How to Download DRM-Protected Sproutvideo from Patreon (yt-dlp or Other Tools)

LarsenPeg

Lurker
Joined
Aug 12, 2024
Posts
30
Reaction score
0
Hi smart people,
I'm trying to download a video from Sproutvideo.com that's embedded in a Patreon. I know yt-dlp now supports Sproutvideo since version 2025.05.22 (link), but I'm running into issues, likely due to DRM protection.
Has anyone successfully downloaded a Sproutvideo embed from Patreon using yt-dlp or other tools? I'm open to any method. Whether it's yt-dlp tweaks, browser extensions, FFmpeg, Streamlink, or even less conventional approaches. The .m3u8 URL includes a Policy and Signature, which might be part of the DRM. Any tips or workarounds would be greatly appreciated!
 
Looking for some downloader too.. screenapp.io page worked for me for a few video until i reached the limit for downloads
 
After playing around with this for a couple of hours I managed to figure out a way to do it, it's super janky but it works. Firstly, the SV is very keen on giving you 403 errors so the only working way I've found to get the stuff you need, the key file and the video in .ts-segments, is to more or less download them from inside the browser window where they're fetched. Likely someone who's smarter than me can figure out a way to get around this but I haven't been able to for now. The next issue is that the segments are encrypted. I tried a few methods of decrypting and found FFMPEG to work, while it also combines the segments into a single file. This is done by creating a new M3U8 file that points to the .ts-segments and then FFMPEG decrypts the segments from the new M3U8, which includes the originals EXT-X-KEY's info, using the key file. It's janky but it works. :KEKWlaugh:
The TLDR version:
I've made a pretty bad and very janky Tampermonkey script to at least try to somewhat automate this, using what I could find in terms of URLs. Once installed, it should show a "Start auto capture" button on the top left of the SV embed video player, it'll then skip through the video to find all segments, and then show a window that includes further instructions once all segments are found. I've tested it in Brave and Firefox, and it works okay, except for the "download all segments" button not triggering all downloads in Firefox (it might just be due to a too short delay, which can be altered on line 167). Lastly, I recommend opening the embed in it's own tab too.
Link
If the script is useful to someone who can build upon- and improve it, please feel free to do so.
:MLADY:
 
I recently discovered Tubedigger and it is a game changer imo. It is a paid program and I did not search for cracked versions. I've spent many hours over the years with browsers, scripts, and digging through devtools to archive videos I'd like to keep. I have used tubedigger on a couple sprout video hosted sites since I purchased it as well as various more obscure leak sites that don't have integration with downloaders like yt-dlp.
It's essentially a basic browser with video/audio stream capturing and recording capability like you'll find in extensions, just much better executed from what I can tell. I'm not a programmer, I just know tubedigger works where other options have problems. Tubedigger has some quirks, but is not difficult to use. The program is actively maintained by the developed and discussed on the forum VideoHelp.
The other option is to capture the stream via a program like OBS. OBS is a free program streamers use to capture and broadcast, but it has a built in record feature. The only real issues are that you have to let the video play in its entirety at 1x speed on fullscreen and it will record all the sound on your pc while recording unless you get complicated with how you route and capture audio. I never bothered to figure that out. Having OBS and the video on separate monitors and using shortcuts will eliminate things like your cursor being in the recording. This is the method I used for sprout after getting frustrated with extensions.
Sorry for not linking everything, but I've had that prevent posts from getting approved in the past.
 
Try Superx downloader on github, it can download from Sprout video, even encrypted ones. They only have an android app right now, but you can use an emulator for pc. I had a similar link with signature and policy and i could download it using it.
 
For DRM videos hosted on mux.com inspect the post in browser under network tab when playing video and get the m3u8 link, i.e *.mux.com/whatever/rendition.m3u8?cdn=whatever. Then use latest yt-dlp. yt-dlp "URL-tom3u8" --cookies-from-browser firefox --referer "https://www.patreon.com"
 
Super jank indeed. The "Download all segments" button doesn't work properly as it only grabs one file, but I was able to grab them all manually so that was fine. The "Download key File" button gave an error "Failed to download key file. Check console for details." yet nothing shows in the console. The batch file downloads, but when run just asks to delete all the TS files. If you say no, it does nothing, and if you say yes, it deletes them all and does nothing. Do you know of any way to extract the key manually? I'm decent with FFMPEG so if I had the key it should be no problem to recompile them.
I was using a version of yt-dlp that I cloned from the github and modified the sproutvideo.py with a "diff" file that was provided in one of the issues requests. It was working for a few months but I think Sprout updated something. I am still able to use the "Stream Recorder" Chrome plugin from hlsloader.com to grab them if they are under a certain length, but anything over 1GB overflows the cache or RAM or whatever and fails if it's too big. Maybe I can run the script through an LLM, but I'm not super competent with them.
 
Back
Top