YouTube Downloader current version fails on some videos

I’ve tried 6 YouTube videos so far, and all 6 fail in the same way. Using the same links in Chromium (current version) on the same Ubuntu 18.04 box (patched current) works perfectly every time. Here’s an example:


jim@beaver:~$ youtube-dl Joni Mitchell Woman of Heart and Mind (documentary, subt esp) - YouTube
[youtube] T95l3_eai88: Downloading webpage
[youtube] T95l3_eai88: Downloading video info webpage
WARNING: unable to download video info webpage: HTTP Error 410: Gone
WARNING: unable to download video info webpage: HTTP Error 410: Gone
WARNING: unable to download video info webpage: HTTP Error 410: Gone
WARNING: unable to download video info webpage: HTTP Error 410: Gone
WARNING: unable to download video info webpage: HTTP Error 410: Gone
Traceback (most recent call last):
File “/usr/bin/youtube-dl”, line 6, in
youtube_dl.main()
File “/usr/lib/python3/dist-packages/youtube_dl/init.py”, line 476, in main
_real_main(argv)
File “/usr/lib/python3/dist-packages/youtube_dl/init.py”, line 466, in _real_main
retcode = ydl.download(all_urls)
File “/usr/lib/python3/dist-packages/youtube_dl/YoutubeDL.py”, line 1989, in download
url, force_generic_extractor=self.params.get(‘force_generic_extractor’, False))
File “/usr/lib/python3/dist-packages/youtube_dl/YoutubeDL.py”, line 785, in extract_info
ie_result = ie.extract(url)
File “/usr/lib/python3/dist-packages/youtube_dl/extractor/common.py”, line 440, in extract
ie_result = self._real_extract(url)
File “/usr/lib/python3/dist-packages/youtube_dl/extractor/youtube.py”, line 1607, in _real_extract
token = video_info.get(‘token’) or video_info.get(‘account_playback_token’)
AttributeError: ‘NoneType’ object has no attribute ‘get’
jim@beaver:~$


Any suggestions will be appreciated, or please let me know if I have found a flaw in youtube-dl.

Jim-Bob

This is actively developed, give it a try:

https://github.com/yt-dlp/yt-dlp

OK, thanks; I will try that product soon.

So, are you saying that the article with the instructions I was following,

Last updated August 19, 2021 By Abhishek Prakash

Is in fact not what is now recommended?

In that case, shouldn’t that WWW page be updated to include something that actually works?

I notice that others are posting comments that youtube-dl used to work (and fairly recently) but now does not.

Also, that article has a link to the youtube-dl “Manual”; is there an accessible manual for yt-dlp including about the “added features” mentioned in its description?

IHTH

Jim-Bob

The firefox addon works for me
Neville

@kgwoo, Thanks! I agree, yt-dlp is a nifty tool. It worked admirably in the example I gave for the failing youtube-dl. I used the instructions from the original article, which I referenced on Dec 13, and yt-dlp showed me the available download formats as described for youtube-dl then I chose one and it worked “as advertised”. :grinning:

Still, I would appreciate a link to the “Manual”, as the --help option is not clear on some important points. Anyway, I’m “off and running”, and learning, and having fun! Good stuff, all!

This looks good as a “manual,”
https://github.com/yt-dlp/yt-dlp/blob/master/README.md

@kgwoo, Thanks Again! I agree, that page not only “looks good”, it seems that it’s really complete and has everything a user needs/wants, except an introduction or examples of common usage, as Abhishek Prakash’s article does (it gives the new user a great start and helps a reader decide whether they are interested in this tool).

Anyway, now I’m “fully tooled” and ready to start “production”; thanks again. :grin:

I also use the Firefox add-on YouTube Video and Audio Downloader (WebEx) by [feller]

Very easy to use, choice of all available video and audio formats.

2 Likes

I use an alternative to youtube-dl - a “fork” called “yt-dlp” as “certain sites” won’t work with the default youtube-dl… but I always have both handy…

if / when I can’t find some source for a piece of music, I run youtube-dl against the song / album on youtube with audio only :

e.g.
youtube -k --extract-audio --audio-quality 0 --audio-format mp3 $URL

Note - there’s no point choosing anything other than mp3, e.g. theoretically you can do FLAC or WAV, but the severe lo-fi diabolical quality of youtube audio (applies to ALL streaming platforms - even more so shite like Spifity) it would be utterly pointless “up sampling” to better quality - it would be like using imagemagick to increase a bitmap (e.g. “mogrify -resize 1000% imagefile.png” [which I sometimes do, deliberately, if I want a pixelated image - e.g. “mogrify -resize 10% imagefile.png ; mogrify -resize 1000% imagefile”])…

1 Like

Do you know of anything that works on a non-youtube video?

The original youtube-dl has indeed a very bad name. It shows.

Despite its unfitting and perhaps slightly illegal name, the software is very featureful. It supports a very broad range of web services. YouTube is just one of hundreds of services, it supports…

2 Likes

Thanks, I need to try that.
Last time I tried youtube-dl it was on youtube and it failed.
So I did noypt read the manual carefully enough.

1 Like

I’d say it will fail 1 out of 10 times, regularly. YouTube is updated so frequently, it’s hard to patch the downloader quickly enough, after each time YouTube patches something with breaking changes.

Now, after the youtube-dl legal disaster, it will be probably even slower, because the project has broken up a bit. The disaster has done its damage. Our soldier youtube-dl is luckily still alive, though. He stays in the trenches and he keeps fighting!!

1 Like

both youtube-dl and yt-dlp work on other streaming sites… e.g. sites like Vimeo, and even audio from bandcamp (but there’s a dedicated python script for that too!) - and even online video content of consenting adults engaging in acts of procreation…

you need to regularly update youtube-dl… it’s a constant battle between the developer, and the content hosting providers :smiley:

1 Like

OK… so I should use it in Void, not in Debian.

I use it on Debian and DietPi and it’s always the newest version.

For such programs, I usually refer to the original project maintainers’ recommendations. In the case of youtube-dl I use the sources from Github, where the development takes place, and then use the program’s own internal upgrading mechanism. I do not use apt for that, at all.

I advise anyone to do that, if they have a program that really needs to be updated very frequently.

This way it’s also possible to stay up to date even on sleepy distributions, like Debian.

During the recent infamous standover tactics when a takedown notice was issued to the developer - it was still able to work, and update, using python pip… it’s only slightly behind the maintainer’s code git repo, but ALWAYS months, like 6-12 months, ahead of the distro package version…

I usually install it using pip3
pip3 install youtube-dl
upgrade
pip3 install --upgrade youtube-dl

OK, good advice…
I understand installing stuff outside of apt.
Only thing I find with stuff in /usr/local is it tends to break if I do a major cross-release upgrade. Not a big issue … releases in Debian are few and far between.

I put such stuff into my personal /home directory. Then, it’s just a binary there, which needs to be run. This will survive any distribution upgrade.

Of course, Python is more picky about it, so it may break even then. However, that’s just the nature of Python. It loves to break.

1 Like

I acquired the BSD habit… /usr/local gets flogged
I take your point… /home is a better choice…
It can still break… I used to do R that way , install from src in my home directory. R has very frequent updates. One of the reasons I went to Void is it keeps R very up to date so I dont have to bother with hand installs.