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

4ndy

Member
Is there a later version of YouTube-dl available (beyond 2021.04.26)?

I am not getting anything to work from ITVHub. In particular Vera and Professor T
 
OP
prpr

prpr

Well-Known Member
Is there a later version of YouTube-dl available (beyond 2021.04.26)?
No. I never bothered with 2021.06.06 as it didn't seem to change anything useful, and development now appears to be stalled.
I am not getting anything to work from ITVHub. In particular Vera and Professor T
At least give us a URL to test...
(I sat opposite Ben Miller and one of his lads on a train once - PAD->SWI where they got off...)
 
Last edited:
Is there a later version of YouTube-dl available (beyond 2021.04.26)?
The problem of a 'broken' ITV Hub was logged on the support pages of GitHub back in April.

One of their gurus managed to create a fixed version as a temporary measure - hopefully the changes will make it into new releases.

I can confirm that the Windows version does restore ITV Hub download to a PC. I haven't tried to change the version on my HDRs.
I have used it a fair amount and not found any issue (I think the -U update command is disabled).

After some digging here is a link to the fixed versions: https://github.com/sleaux-meaux/youtube-dl/releases/tag/2021.04.26-gia_06
 
OP
prpr

prpr

Well-Known Member
I tried the fix in 28955 and it doesn't work on the Humax.
28906 allows stuff to download, with millions of ffmpeg errors, but trying to play the resulting file crashes the Humax UI.
We have to use ffmpeg for this, due to some deficiency in something relating to Python (I think, but can't remember exactly - @/df will know), so I guess we're out of luck.
Both of the above work on my main Linux Mint PC of course (not using ffmpeg to do the download).
 

Private61

Member
The problem of a 'broken' ITV Hub was logged on the support pages of GitHub back in April.

One of their gurus managed to create a fixed version as a temporary measure - hopefully the changes will make it into new releases.

I can confirm that the Windows version does restore ITV Hub download to a PC. I haven't tried to change the version on my HDRs.
I have used it a fair amount and not found any issue (I think the -U update command is disabled).

After some digging here is a link to the fixed versions: https://github.com/sleaux-meaux/youtube-dl/releases/tag/2021.04.26-gia_06
I also have the same problem, could alanofcleeves please up the command line they used in Windows as it's still failing for me and it may identify a necessary change I have not noticed, thanks.
 
could alanofcleeves please up the command line they used in Windows
I assume that you, like me, already have youtube-dl installed on your Windows PC.

All I did was to download from the link I quoted the file youtube-dl-win32.zip (you can ignore all the others), and replace my current version of youtube-dl.exe with the version in the downloaded .zip file (I recommend you rename your current version rather than overwrite it).

You should now be able to use youtube-dl exactly as before, except that ITV Hub will now allow downloads.
Here is a dump of the result of downloading last night's "Vera", episode 1 of series 11.
You can see that I used the -F switch to list the available formats then the -f switch to specify which format to download.

Trust this helps.

C:\Video\Youtube-dl>youtube-dl -F https://www.itv.com/hub/vera/1a7314a0045
[ITV] 1a7314a0045: Downloading webpage
[ITV] 1a7314a0045: Downloading JSON metadata
[ITV] 1a7314a0045: Downloading m3u8 information
[ITV] 1a7314a0045: Downloading JSON metadata
[info] Available formats for 1a7314a0045:
format code extension resolution note
hls-68 mp4 audio only 68k , mp4a.40.2@ 64k
hls-102 mp4 audio only 102k , mp4a.40.2@ 96k
hls-285 mp4 512x288 285k , avc1.4D401F@ 203k, 25.0fps, mp4a.40.2@ 64k
hls-636 mp4 512x288 636k , avc1.4D401F@ 503k, 25.0fps, mp4a.40.2@ 96k
hls-848 mp4 512x288 848k , avc1.4D401F@ 703k, 25.0fps, mp4a.40.2@ 96k
hls-1272 mp4 896x504 1272k , avc1.4D401F@1103k, 25.0fps, mp4a.40.2@ 96k
hls-1908 mp4 896x504 1908k , avc1.4D401F@1703k, 25.0fps, mp4a.40.2@ 96k (best)

C:\Video\Youtube-dl>youtube-dl -f hls-1908 https://www.itv.com/hub/vera/1a7314a0045
[ITV] 1a7314a0045: Downloading webpage
[ITV] 1a7314a0045: Downloading JSON metadata
[ITV] 1a7314a0045: Downloading m3u8 information
[ITV] 1a7314a0045: Downloading JSON metadata
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 900
[download] Destination: Vera - Witness-1a7314a0045.mp4
[download] 100% of 1.17GiB in 06:18

[ffmpeg] Fixing malformed AAC bitstream in "Vera - Witness-1a7314a0045.mp4"
 

Private61

Member
Thanks for your reply most appreciated.

I was thinking of checking the usage which was just as well as you gave me more info on how to select formate variations, thanks again.
 

/df

Well-Known Member
...
We have to use ffmpeg for this, due to some deficiency in something relating to Python (I think, but can't remember exactly - @/df will know), so I guess we're out of luck.
...
The python package is built against an ancient version of OpenSSL, which doesn't support the versions of SSL/TLS that sites typically require. Also there are some HLS features not supported by the yt-dl downloader, so ffmpeg is often needed anyway. Unrelated, but the Python is 2.7.1 ('tired and shagged out after a long squawk') and it would be good to build 2.7.18 which is the final Py2.

yt-dl is quite modular: I previously posted a work-around that uses wget to fetch pages during extraction. Using just command-line options you can use an external downloader, but wget only supports HTTP/S downloads, so ffmpeg is the only useful option there.
 

/df

Well-Known Member
My yt-dl running on the Humax seems to be able to list the formats and download the smallest format (eg) as a playable mp4 file. I may have patched the ITV extractor: more research neededthis commit, in fact.

The complaints about invalid timestamps should disappear with --external_downloader_args '-v 16' (or possibly 8 instead of 16).
 
Last edited:

/df

Well-Known Member
Although no-one has yet complained about it here, downloads from YouTube have begun to be throttled to ~50kB/s. This comment links to a drop-in fix for the YT extractor.
 

everthewatcher

Forum Supporter
Although no-one has yet complained about it here, downloads from YouTube have begun to be throttled to ~50kB/s. This comment links to a drop-in fix for the YT extractor.
Been meaning to mention it.

I was using it via the Youtube-DLG GUI on a PC and found that the YT-DLP fork is, at least for the time being, unaffected*.

It's supposed to respond to the Youtube-DL commands so I tried renaming it to would work with Youtube-DLG but it wasn't entirely happy. So I'm now using it with the Tartube GUI in its usable 'Youtube-DLG' mode. Has the advantage of being able to download YT's age-restricted stuff too.

* There was one evening when it appeared to be throttled to around 120kB/s but that was several days ago and it's been fine since. When the Youtube-DL throttling started it was hit and miss to begin with. You could stop a slow download then resume and it would usual be back to full speed, which was probably down to different servers.
 
Last edited:

/df

Well-Known Member
Been meaning to mention it.

I was using it via the Youtube-DLG GUI on a PC and found that the YT-DLP fork is, at least for the time being, unaffected*.

...
This being a thread about the youtube-dl CF package, my comment was intended for the package running on the Humax HD/R Fox T2 STB. However the extractor file is equally valid for other yt-dl installations, though potentially tricky to patch into a Windows version.

yt-dlp has --compat... options that you can set in its configuration file to make its command-line syntax match the original yt-dl so that it can drop into applications like mpv and possibly Youtube-DLG. The throttling issue is fixed (in two different ways) in the mainline yt-dlp version, but it's incompatible with the CF environment, whereas the fix for yt-dl itself awaits the return of the delinquent maintainers.

In my LAN the download speed for the on-box yt-dl is about 1/3 of that for one of the 5+-year old big machines, but still an order of magnitude up on the throttled YT rate.
 
OP
prpr

prpr

Well-Known Member
I may have patched the ITV extractor: more research neededthis commit, in fact.

The complaints about invalid timestamps should disappear with --external_downloader_args '-v 16' (or possibly 8 instead of 16).
Seems to work for me. 16 is more than enough as it takes all the progress reporting away too. Haven't tried 24 yet. Oh, and it's '-', not '_' in that external parameter!
This comment links to a drop-in fix for the YT extractor.
That works too. I've patched these into a 2021.06.06a for release shortly, if you're in agreement?
 
Last edited:

MontysEvilTwin

Well-Known Member
I have been using the latest version of Youtube-dl for the HDR-FOX (2021.06.06a) and have encountered some problems downloading subtitles from ITV hub. Sometimes it works, sometimes it doesn't. I don't think that the problem is caused by by a lack of subtitles for a particular programme: often a failed subtitle download is successful if you repeat the process. The download of the original subtitle file (.vtt) is the stumbling block. If it fails you get the following error message:
Code:
WARNING: Unable to download subtitle for "en": Unable to download webpage: <urlopen error [Errno 1] _ssl.c:499: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol> (caused by URLError(SSLError(1, '_ssl.c:499: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol'),))
I presume this is a handshake issue?
 

/df

Well-Known Member
It's this problem.

yt-dl has extraction and downloading phases. Subtitles are fetched like metadata in the extraction phase, so using the Python network stack with its 2011-ish SSL; ITV, he no like. The media files are fetched in the downloading phase, where --prefer-ffmpeg or --external-downloader apply, so allowing the TLS-1.2-challenged Python 2.7.1/OpenSSL 0.0.9 (IIRC) stack to be bypassed.

Let's bypass the old stack for extraction too, by spawning the latest wget that, like ffmpeg, has been linked with OpenSSL 1.1.1. Make sure you have that version installed.

Acquire fakehttp.py from here and put it in the yt-dl extractor directory with extractor/itv.py. Edit the latter by adding the import line from the linked post before line 22 (class ITVIE(InfoExtractor):). Profit?
 
Top