Very kind of you, it looks really easy, but it implies that youtube-dl is installed, not? What happened some time ago when you suggested it was that attempting to install it took about half a day with the Terminal churning non-stop, only for the whole process to end up with an error. If I remember correctly, this error was related to my OS being too old. And there's nothing I can do about that.
As a matter of fact, yes. I have MacPorts installed, and that's were it ended up with an error. But you know — not intending in the least to dismiss your efforts (I use SaveTube 10-20 times in the course of a day, and I have thanked you many times for your work) — there is something called burn-out: after almost four decades setting up quantities of GUI's I'm at a point where I just like things to work without breaking my head over things I don't and never will understand. I'm sure you can relate to this.
Can you use ffmpeg or other video tool that support hls?
For videos I normally use QT Player, QT Player 7 Pro or VLC. I also have installed Handbrake 0.9.9, MPlayer Extended rev14, VCD and MPEG Tools v.1 but I never use them (I suppose RealPlayer can be ignored). But “ffmpeg” said something to me, and a disk search gave something related to it in the MacPorts installation, and also something related to Audacity (which I have installed but as far as I know is only for processing audio, not video — correct me if I'm wrong).
I also found a disk image of ffmpeg v.0.6.2 "for Audacity" from 2011, another one v.0.0.9y from 2016 (about when my OS stopped getting updated) as well as some “binaries” from 2006. As far as I can see I have never installed any of them.
Does this bring us anywhere? I don't know what "hls" is, found three entries that might be related on Wikipedia, but then...? Please keep in mind that I am only a so-called end-user.
Most sites now use adaptive streaming HLS/DASH, which have different streams for audio and video or/and both can be split in chunks. You can't download these like a normal file (progressive streaming, eg:mp4), you have to download them manually and use a tool to mux them together or use a tool to download/mux them. ffmpeg is such a tool.
Open the browser dev tools (ctrl+shift+i), go to the network tab, start the twitch video, search for "m3u8". This is the HLS stream, which contains multiple streams, one for each quality.
If you can't find m3u8, search for mp4, some videos have progressive streams. You can download this as any file.
Thanks for explaining all this to me. I have sometimes seen those m3u8, like in live streams on YT. I've always waited until the streaming was over and posted as mp4 before downloading. If I understand you right, I should download those “chunks” and try and join them with ffmpeg, correct?
But does that imply that I have to run the whole video in the browser until it's done, before downloading all of them? Which kind of defeats my purpose...
Anyway, following your instructions with the Twitch URL at the top of this thread, in the dev/network interface I only find "mp2t" file types, with URLs like these:
I'm not quite sure how I'll be able to download all of them in one shot, but are these the chunks to be joined?
Those are ts (chunks), you have to find the m3u8 file, start/restart the video after you open the dev tools. The m3u8 file will contain a m3u8 file for each video quality, these will have the list of ts files. If you can't use ffmpeg or other video tool, download each ts from an m3u8 file and concatenate them. If it's a live stream you'll have to wait until it's finished.
OK, it wasn't easy, but after a while I did succeed in getting the two m3u8 files that belong to this video. One of them:
But there must still be something that's beyond my understanding — unless it's because ffmpeg is too old (0.0.9y-r2), from a time before the age of m3u8? I can imagine that a (the) URL is necessary to go and collect those .ts files, but this m3u8 doesn't have a URL in it, and I cannot find where to enter a URL in the application's interface — apparently it can only open an existing file.
The multi quality manifest is before the one you found:
If the ts doesn't have a url you have to create it from the m3u8 url, replace "index-dvr.m3u8" with the ts file.
You can use cli:
curl URL/index-dvr.m3u8 | grep ts | while read l;do wget URL/$l;done
I test on that video with m.youtube domain and it doesn't work.
Works with www.
Can you please possibly use the above user agent I use and make a fix? That user agent works well, has all different VT video qualities available and I use it cos it doesn't use the polymer that www. uses. I can't stand it as it hangs a lot. www. doesn't work well with desktop browsers considered old even though they are built in 2021.
I presume you updated the above test script? It still doesn't work for m. domain. Thanks for trying though.
Results are it can load but most of the time it won't and defaults to the sign in placeholder.
Using these below and changed the user agent to the one I listed above for youtube in about:config. They already have one set but I don't like it, hangs and stalls too much, overall crappy experience.