[youtube-dl] Download files from youtube.com or other video platforms

I tried downloading something - it just hangs every few minutes. Killing and resubmitting makes it continue for a bit longer before the process repeats. It took 6 goes to get a 30 minute programe, which itself took longer than the programme lasted. It even hung after the re-multiplex step at the end.
It doesn't do any of this on the PC, so I've kinda given up using it on the HDR and use the PC, copying the file manually at the end.
 
I'd guess the version of Youtube-dl that you can get to run on the HD/HDR-FOX-T2 has finally succumbed to the arms race mounted by YouTube. Fortunately the PC version (of yt-dlp) gets regularly updated. It does seem to be a continuous battle though.
 
I'd guess the version of Youtube-dl that you can get to run on the HD/HDR-FOX-T2 has finally succumbed to the arms race mounted by YouTube.
It's the same as the version I run on the PC, albeit in a different Python environment, but it does actually work, until it doesn't, so the arms race would appear not to be a factor at this point. Anyhow it's now moot as I've removed all traces of Qtube, youtube-dl and Python from all my boxes.
It does seem to be a continuous battle though.
Yes, I'm afraid so.
 
It's the same as the version I run on the PC, albeit in a different Python environment, but it does actually work, until it doesn't, so the arms race would appear not to be a factor at this point.
Probably unconnected. This morning I tried to download an item from YouTube on my phone (using an Android app called Seal which uses yt-dlp). It failed with some strange errors. It worked for a different video.
I tried the same on a different phone and it worked for the original video. Same version of yt-dlp, supposedly the same version of Seal. Copied the working Seal over to original phone and that worked. The only possible difference was the source of the Seal app.
Sorted ... for now!
 
I'd guess the version of Youtube-dl that you can get to run on the HD/HDR-FOX-T2 has finally succumbed to the arms race mounted by YouTube. Fortunately the PC version (of yt-dlp) gets regularly updated. It does seem to be a continuous battle though.
Attacks are coming from many fronts....................................
 
If I understand that correctly it is a one-off wait. After that you can sideload immediately every time. What I'm not sure about is whether they are trying to block unregistered developers products from being loaded at all. There is some push back (will come to nothing) because it hinders development by individuals. At the moment it looks like loading apps via a debugging interface (adb) will still be possible without a wait. Rooting your phone isn't an option if you want to use banking apps.
Google Making It Harder to Install Dodgy Apps on Android | Cord Busters
Bull! Not all sideloaded apps are "dodgy". Just because Google won't allow them in the store, or people don't want to give control to Google doesn't make them dodgy. [Ctrl]-freaks.
 
Iplayer downloads working fine for me from the menu using process option -fmf_akamai-1013-1
The format option of mf_akamai-1013-1 produces a file size of just under 20% of the iPlayer's usual "best" which could by its self explain why the format mf_akamai-1013-1 is more successfully with less attempts.

It should also be quicker. Downloaded a 43 minute programme using both formats to compare. The mf_akamai-1013-1 file size was just under 20% of the "best", and it took 14 minutes vs 50 minutes.

Obviously the picture quality is noticeably degraded.
704x396 [SAR 1:1 DAR 16:9], 831 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc (default)
vs
1280x720 [SAR 1:1 DAR 16:9], 5229 kb/s, 50 fps, 50 tbr, 90k tbn, 100 tbc (default).
(As per the -F listing the sound was the same on both downloads - 128 kb/s (default).)
 
The format option of mf_akamai-1013-1 produces a file size of just under 20% of the iPlayer's usual "best" which could by its self explain why the format mf_akamai-1013-1 is more successfully with less attempts.
Ah, that explains why the file sizes were so small compared to normal OTA files, although mine seemed to be even smaller than 20% down, but htey have been watched and deleted now so I can't check.

What other options do you use for iplayer to get the full fat files?
 
What other options do you use for iplayer to get the full fat files?
But that's the point – full-fat downloads are failing.

 
Ah, that explains why the file sizes were so small compared to normal OTA files, although mine seemed to be even smaller than 20% down, but htey have been watched and deleted now so I can't check.

What other options do you use for iplayer to get the full fat files?
To get the most detailed that iPlayer can provide that can be played on an HDR-FOX i omit the additional options entirely and just let it default to whatever is the HDR-FOX configuration file for the youtube-dl package's f option. It was only for yourube that I overrode this, as youtube usually labels one of the worst as "Best".

I think my configuration file is probably just the default but I'm not 100% sure.
My configuration file currently contains -f "best[height<=?1080][fps<=?60]" .

If I wanted to download a different version I'd first use -F (i.e. capital F) and click "Run Download now" to list all the available options for the programme. I then identify the most suitable version for what ever reason I am downloading it instead of using what ever my configuration has as its default when no -f is used

Code:
20:06:04 - --------------------------------------------------------------
20:06:04 - Starting immediate download of https://www.bbc.co.uk/iplayer/episode/m002t0sb Options -F
20:06:04 - Be VERY patient - it can take a couple of minutes for download to start!
20:06:04 - youtube --newline -F https://www.bbc.co.uk/iplayer/episode/m002t0sb
20:06:04 - {*}youtube --newline -F https://www.bbc.co.uk/iplayer/episode/m002t0sb
20:07:04 - [bbc.co.uk] m002t0sb: Downloading video page
20:07:07 - [bbc.co.uk] m002t0sb: Downloading playlist JSON
20:07:09 - [bbc.co.uk] m002t0s9: Downloading media selection JSON
20:07:10 - [bbc.co.uk] m002t0s9: Downloading MPD manifest
20:07:12 - [bbc.co.uk] m002t0s9: Downloading MPD manifest
20:07:14 - [bbc.co.uk] m002t0s9: Downloading MPD manifest
20:07:15 - [bbc.co.uk] m002t0s9: Downloading MPD manifest
20:07:17 - [bbc.co.uk] m002t0s9: Downloading MPD manifest
20:07:18 - [bbc.co.uk] m002t0s9: Downloading MPD manifest
20:07:22 - [bbc.co.uk] m002t0s9: Downloading m3u8 information
20:07:22 - [bbc.co.uk] m002t0s9: Downloading m3u8 information
20:07:23 - [bbc.co.uk] m002t0s9: Downloading m3u8 information
20:07:24 - [bbc.co.uk] m002t0s9: Downloading m3u8 information
20:07:25 - [bbc.co.uk] m002t0s9: Downloading m3u8 information
20:07:25 - [bbc.co.uk] m002t0s9: Downloading m3u8 information
20:07:31 - [info] Available formats for m002t0s9:
20:07:31 - format code                         extension  resolution note
20:07:31 - mf_akamai-audio_eng_1=128000-0      m4a        audio only [en] DASH audio  128k , m4a_dash container, mp4a.40.2 (48000Hz)
20:07:31 - mf_akamai-audio_eng_1=128000-1      m4a        audio only [en] DASH audio  128k , m4a_dash container, mp4a.40.2 (48000Hz)
20:07:31 - mf_bidi-audio_eng_1=128000-0        m4a        audio only [en] DASH audio  128k , m4a_dash container, mp4a.40.2 (48000Hz)
20:07:31 - mf_bidi-audio_eng_1=128000-1        m4a        audio only [en] DASH audio  128k , m4a_dash container, mp4a.40.2 (48000Hz)
20:07:31 - mf_cloudfront-audio_eng_1=128000-0  m4a        audio only [en] DASH audio  128k , m4a_dash container, mp4a.40.2 (48000Hz)
20:07:31 - mf_cloudfront-audio_eng_1=128000-1  m4a        audio only [en] DASH audio  128k , m4a_dash container, mp4a.40.2 (48000Hz)
20:07:31 - mf_akamai-video=827000-0            mp4        704x396    DASH video  827k , mp4_dash container, avc3.4D401F, 25fps, video only
20:07:31 - mf_akamai-video=827000-1            mp4        704x396    DASH video  827k , mp4_dash container, avc3.4D401F, 25fps, video only
20:07:31 - mf_bidi-video=827000-0              mp4        704x396    DASH video  827k , mp4_dash container, avc3.4D401F, 25fps, video only
20:07:31 - mf_bidi-video=827000-1              mp4        704x396    DASH video  827k , mp4_dash container, avc3.4D401F, 25fps, video only
20:07:31 - mf_cloudfront-video=827000-0        mp4        704x396    DASH video  827k , mp4_dash container, avc3.4D401F, 25fps, video only
20:07:31 - mf_cloudfront-video=827000-1        mp4        704x396    DASH video  827k , mp4_dash container, avc3.4D401F, 25fps, video only
20:07:31 - mf_akamai-video=1570000-0           mp4        704x396    DASH video 1570k , mp4_dash container, avc3.64001F, 50fps, video only
20:07:31 - mf_akamai-video=1570000-1           mp4        704x396    DASH video 1570k , mp4_dash container, avc3.64001F, 50fps, video only
20:07:31 - mf_bidi-video=1570000-0             mp4        704x396    DASH video 1570k , mp4_dash container, avc3.64001F, 50fps, video only
20:07:31 - mf_bidi-video=1570000-1             mp4        704x396    DASH video 1570k , mp4_dash container, avc3.64001F, 50fps, video only
20:07:31 - mf_cloudfront-video=1570000-0       mp4        704x396    DASH video 1570k , mp4_dash container, avc3.64001F, 50fps, video only
20:07:31 - mf_cloudfront-video=1570000-1       mp4        704x396    DASH video 1570k , mp4_dash container, avc3.64001F, 50fps, video only
20:07:31 - mf_akamai-video=2812000-0           mp4        960x540    DASH video 2812k , mp4_dash container, avc3.64001F, 50fps, video only
20:07:31 - mf_akamai-video=2812000-1           mp4        960x540    DASH video 2812k , mp4_dash container, avc3.64001F, 50fps, video only
20:07:31 - mf_bidi-video=2812000-0             mp4        960x540    DASH video 2812k , mp4_dash container, avc3.64001F, 50fps, video only
20:07:31 - mf_bidi-video=2812000-1             mp4        960x540    DASH video 2812k , mp4_dash container, avc3.64001F, 50fps, video only
20:07:31 - mf_cloudfront-video=2812000-0       mp4        960x540    DASH video 2812k , mp4_dash container, avc3.64001F, 50fps, video only
20:07:31 - mf_cloudfront-video=2812000-1       mp4        960x540    DASH video 2812k , mp4_dash container, avc3.64001F, 50fps, video only
20:07:31 - mf_akamai-video=5070000-0           mp4        1280x720   DASH video 5070k , mp4_dash container, avc3.640020, 50fps, video only
20:07:31 - mf_akamai-video=5070000-1           mp4        1280x720   DASH video 5070k , mp4_dash container, avc3.640020, 50fps, video only
20:07:31 - mf_bidi-video=5070000-0             mp4        1280x720   DASH video 5070k , mp4_dash container, avc3.640020, 50fps, video only
20:07:31 - mf_bidi-video=5070000-1             mp4        1280x720   DASH video 5070k , mp4_dash container, avc3.640020, 50fps, video only
20:07:31 - mf_cloudfront-video=5070000-0       mp4        1280x720   DASH video 5070k , mp4_dash container, avc3.640020, 50fps, video only
20:07:31 - mf_cloudfront-video=5070000-1       mp4        1280x720   DASH video 5070k , mp4_dash container, avc3.640020, 50fps, video only
20:07:31 - mf_akamai-1013-0                    mp4        704x396    1013k , avc1.4D401F@ 827k, 25.0fps, mp4a.40.2@128k
20:07:31 - mf_akamai-1013-1                    mp4        704x396    1013k , avc1.4D401F@ 827k, 25.0fps, mp4a.40.2@128k
20:07:31 - mf_bidi-1013-0                      mp4        704x396    1013k , avc1.4D401F@ 827k, 25.0fps, mp4a.40.2@128k
20:07:31 - mf_bidi-1013-1                      mp4        704x396    1013k , avc1.4D401F@ 827k, 25.0fps, mp4a.40.2@128k
20:07:31 - mf_cloudfront-1013-0                mp4        704x396    1013k , avc1.4D401F@ 827k, 25.0fps, mp4a.40.2@128k
20:07:31 - mf_cloudfront-1013-1                mp4        704x396    1013k , avc1.4D401F@ 827k, 25.0fps, mp4a.40.2@128k
20:07:31 - mf_akamai-1800-0                    mp4        704x396    1800k , avc1.64001F@1570k, 50.0fps, mp4a.40.2@128k
20:07:31 - mf_akamai-1800-1                    mp4        704x396    1800k , avc1.64001F@1570k, 50.0fps, mp4a.40.2@128k
20:07:31 - mf_bidi-1800-0                      mp4        704x396    1800k , avc1.64001F@1570k, 50.0fps, mp4a.40.2@128k
20:07:31 - mf_bidi-1800-1                      mp4        704x396    1800k , avc1.64001F@1570k, 50.0fps, mp4a.40.2@128k
20:07:31 - mf_cloudfront-1800-0                mp4        704x396    1800k , avc1.64001F@1570k, 50.0fps, mp4a.40.2@128k
20:07:31 - mf_cloudfront-1800-1                mp4        704x396    1800k , avc1.64001F@1570k, 50.0fps, mp4a.40.2@128k
20:07:31 - mf_akamai-3117-0                    mp4        960x540    3117k , avc1.64001F@2812k, 50.0fps, mp4a.40.2@128k
20:07:31 - mf_akamai-3117-1                    mp4        960x540    3117k , avc1.64001F@2812k, 50.0fps, mp4a.40.2@128k
20:07:31 - mf_bidi-3117-0                      mp4        960x540    3117k , avc1.64001F@2812k, 50.0fps, mp4a.40.2@128k
20:07:31 - mf_bidi-3117-1                      mp4        960x540    3117k , avc1.64001F@2812k, 50.0fps, mp4a.40.2@128k
20:07:31 - mf_cloudfront-3117-0                mp4        960x540    3117k , avc1.64001F@2812k, 50.0fps, mp4a.40.2@128k
20:07:31 - mf_cloudfront-3117-1                mp4        960x540    3117k , avc1.64001F@2812k, 50.0fps, mp4a.40.2@128k
20:07:31 - mf_akamai-5510-0                    mp4        1280x720   5510k , avc1.640020@5070k, 50.0fps, mp4a.40.2@128k
20:07:31 - mf_akamai-5510-1                    mp4        1280x720   5510k , avc1.640020@5070k, 50.0fps, mp4a.40.2@128k
20:07:31 - mf_bidi-5510-0                      mp4        1280x720   5510k , avc1.640020@5070k, 50.0fps, mp4a.40.2@128k
20:07:31 - mf_bidi-5510-1                      mp4        1280x720   5510k , avc1.640020@5070k, 50.0fps, mp4a.40.2@128k
20:07:31 - mf_cloudfront-5510-0                mp4        1280x720   5510k , avc1.640020@5070k, 50.0fps, mp4a.40.2@128k
20:07:31 - mf_cloudfront-5510-1                mp4        1280x720   5510k , avc1.640020@5070k, 50.0fps, mp4a.40.2@128k (best)
20:07:32 - Completed immediate download of https://www.bbc.co.uk/iplayer/episode/m002t0sb Options -F
Having selected one of these with my choice of detail I use its identifier for the -f parameter.
I.e. akamai 1280x720 mp4 would be
Code:
-f mf_akamai-5510-0
or
Code:
-f mf_akamai-5510-1
Currently I am then closing my browser window for the youtube-dl package. I doubt that makes any difference but I appear to have more success if I do that, despite thinking that must be just a coincidence.
 
To get the most detailed that iPlayer can provide that can be played on an HDR-FOX i omit the additional options entirely and just let it default to whatever is the HDR-FOX configuration file for the youtube-dl package's f option. It was only for yourube that I overrode this, as youtube usually labels one of the worst as "Best".

I think my configuration file is probably just the default but I'm not 100% sure.
My configuration file currently contains -f "best[height<=?1080][fps<=?60]" .

If I wanted to download a different version I'd first use -F (i.e. capital F) and click "Run Download now" to list all the available options for the programme. I then identify the most suitable version for what ever reason I am downloading it instead of using what ever my configuration has as its default when no -f is used

...
Having selected one of these with my choice of detail I use its identifier for the -f parameter.
I.e. akamai 1280x720 mp4 would be
Code:
-f mf_akamai-5510-0
or
Code:
-f mf_akamai-5510-1
Currently I am then closing my browser window for the youtube-dl package. I doubt that makes any difference but I appear to have more success if I do that, despite thinking that must be just a coincidence.
Ah, thanks for the explanation. I'll try this at some point, and see how it goes.
 
I attempted that download. The URL appears to be the playlist. Using a version of yt-dlp on my phone the playlist didn't work. Individual episodes downloaded without any problems - other than being tedious.

If the up-to-date yt-dlp fails to download the playlist I'm not surprised the version of youtube-dl used on your Humax couldn't manage it. Wouldn't surprise me if it isn't the BBC screwing things up, although I would have expected youtube-dl to timeout rather than stall for hours.
 
I attempted that download. The URL appears to be the playlist.
The first link
I'm trying to rip these:

...is an index page, sure, but I've queued each episode within that individually. The next link I posted is an individual episode, and that is what is stalled (even now):
...but the first one (https://www.bbc.co.uk/programmes/m002v84n) has just been stalled for hours.
Code:
01/05/2026 22:02:12 - ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
01/05/2026 22:02:12 - Starting queued download URL https://www.bbc.co.uk/programmes/m002v84n Options -x --audio-format mp3 QID 203
 
Oh. I just tried following the link manually (in a browser) and it redirected to a Sounds link and then asked me to sign in, so it looks like they might have closed the loophole where radio could be accessed via Programmes rather than Sounds. What gave me the clue is that I cancelled all the queued downloads and killed the current one (thanks for the kill button), then did a -F to see what's what and it came back with:
Code:
09:57:44 - --------------------------------------------------------------
09:57:44 - Starting immediate download of https://www.bbc.co.uk/programmes/m002b62n Options -F
09:57:44 - Be VERY patient - it can take a couple of minutes for download to start!
09:57:44 - youtube --newline -F https://www.bbc.co.uk/programmes/m002b62n
09:57:44 - {*}youtube --newline -F https://www.bbc.co.uk/programmes/m002b62n
09:58:14 - [bbc.co.uk] m002b62n: Downloading video page
ERROR: Sorry, this episode is not currently available
09:58:20 - Caught error:


=== Done ===
 
Something weird going on. I have successfully downloaded one episode using https://www.bbc.co.uk/sounds/play/m002v84n as an immediate action from qtube (not put on the process queue) and that worked, but another put on the process queue didn't work. I have more urgent things to do right now than investigate this further.
 
I think one problem is that the queued version of qtube/youtube-dl doesn't seem to have the same level of logging as when run immediately. I can't see what (or whether anything at all) is going on. It is a pain to have a log full of "x% out of y MB downloaded" lines (my slow connection means that I get a lot of updates with only 0.1% increments), but not having any monitor of progress is more of a pain.
 
OK, so a download worked from /programmes/ when queued. Perhaps it was having a funny 5 minutes last night, maybe even I had a break in my broadband (not unknown) which then caused it to seize up and not resume.

It's a mystery why I got "Sorry, this episode is not currently available" before.
 
Back
Top