4

I recently attempted to download a YouTube video using youtube-dl and it printed the following error:

[youtube] 8_Ik8elX96w: Downloading webpage
[youtube] 8_Ik8elX96w: Downloading embed webpage
[youtube] 8_Ik8elX96w: Refetching age-gated info webpage
ERROR: This video may be inappropriate for some users.

This is the url of the YouTube video I tried to download:

https://www.youtube.com/watch?v=8_Ik8elX96w

There is nothing inappropriate about the video. I'd like to know if there is a work-around for whatever is causing this.

Allan
  • 661

6 Answers6

3

Looks like youtube-dl doesn't support the latest Youtube changes in age restrictions. However, there are multiple websites that allow you to view and download such videos without logging in. Instead of youtube.com?watch=id go to for example youtubensfw.com?watch=id (you can download simply by right-clicking on the video), genyoutube.com?watch=id or ssyoutube.com?watch=id (with these two, download links are directly on the page). There are lots more of such sites. Myself I don't see the need to use youtube-dl at all when sites like this are available.

Update: currently the only way to view age-restricted videos seems to be via using the Invidious network. All other methods seem to not work anymore. The main server of the Invidious network can be accessed by replacing youtube.com by yewtu.be in the video URL. You can also use the FreeTube application, that can use Invidious servers internally. After installation, the application adds support for freetube:// type links - if you prefix the entire Youtube video link with freetube://, it will open in the application.

raj
  • 11,409
2

The policy issue is with YouTube, rather than with Ubuntu or the YouTube downloader. To answer the technical part of the question:

youtube-dl -u 'youtube-username' -p 'youtube-password' https://www.youtube.com/watch?v=hicC53AhZ6Y

Ensure you are running the latest version.

Not ideal but it works.

2

youtube-dl -u 'YoutubeLOGIN' -p 'App password' --cookie "youtube.com_cookies.txt" 'YOUTUBE URL LINK'


I used the plugin for chrome called Get cookies.txt and exported the txt file and since i had first age restrictions and after that HTTP errors not using both cookie and login i used both now and app password. Worked with VPN + WebRTC Blocking + HTML5 Geo blocking etc (Not sure if that matters but im a rookie when it comes to this.

First cookie file did not work at all and for some reason my command line was like this when it worked, with 2 factor login enabled.I was logged in having the video right in front me of me if that matters idk.

I didnt use 'or " other than for cookie, and mock me, i don't know why and when to use really but i learned rather use it than not. I opened the PowerShell from the folder i just extracted/downloaded the cookie txt file from and used with help from the thread creator something that worked, thanks. I'm close to buying something like 4k downloader, but it's a fight against the system we take here, ain't paying. Im happy i got the 60 fps vp9 version been trying so long. My video was blocked worldwide, private etc.

thanks community, i still don't know what im doing im copying a bit from everybody until a problem is fixed. so again if someone thinks "hes stupid" you are right i figured there must be more people like me struggling so if i can help i try.

Sherlockholmesguessing here but the age restriction is the main problem not the cookie if i have to guess.

youtube-dl -u EMAIL -p APPPASSWORD --cookie "youtube.com_cookies.txt" YOUTUBE-URL

1

For those still unable to make it work, despite using the file retrieved from the "Get cookies.txt" extension, because of the AttributeError: 'bool' object has no attribute 'split' error you can also try using Python 3.x with the following command (I've added the --verbose flag in case of debugging):

python3 /usr/local/bin/youtube-dl -f bestvideo+bestaudio \
    --all-subs --cookies $PWD/youtube.com_cookies.txt \
    "https://www.youtube.com/watch?v=VIDEO_ID_HERE" --verbose

Make sure to do the following first:

  • Ensure the python3 command is working and actually runs a version of Python 3.x.
  • Make sure that the path to your cookies file is correct.
  • Make sure that you have the latest version of youtube-dl installed (youtube-dl --version).
  • Ensure the absolute file path for the youtube-dl binary or installation (In a UNIX-like terminal use which youtube-dl).
1

a ubuntu expert I chatted to mentioned yt-dlp one to me..

yt-dlp is faster and more updated than youtube-dl, also I tested it on your video and on another age restricted video, and it works, while youtube-dl(if merely doing youtube-dl url) doesn't.

user@system:~/# yt-dlp https://www.youtube.com/watch?v=8_Ik8elX96w 1>a.a 2>&1

user@system:~/# cat a.a [youtube] 8_Ik8elX96w: Downloading webpage [youtube] 8_Ik8elX96w: Downloading android player API JSON [youtube] 8_Ik8elX96w: Downloading tv embedded player API JSON [youtube] 8_Ik8elX96w: Downloading web embedded client config [youtube] 8_Ik8elX96w: Downloading player c403842a [youtube] 8_Ik8elX96w: Downloading web embedded player API JSON [info] 8_Ik8elX96w: Downloading 1 format(s): 22 [download] Resuming download at byte 20969472 [download] Destination: Anarchy, U.S.A. – In the Name of Civil Rights [8_Ik8elX96w].mp4 [download] 22.1% of 906.25MiB at 11.92MiB/s ETA 00:59 ERROR: Interrupted by user user@system:~/#

and to delete the partially downloaded file.

user@system:~/# rm "Anarchy, U.S.A. – In the Name of Civil Rights [8_Ik8elX96w].mp4.part"

You could have chosen a better example by the way. This video is also age restricted but is at least a smaller video about 120MB https://www.youtube.com/watch?v=xeZ3k2ywQ6Y as opposed to your almost 1GB file.

Note- as of Jan 2024 (and quite a bit before then), neither of them work..in my tests. Youtube has tightened down. https://www.ytbvideoly.com/ is a site that seems fine. If the website says it's blocked then you can use a VPN, though they tend to be paid, like surfshark vpn, and that has a VPN browser extension.

barlop
  • 125
0

The solution is to pass a cookie to YouTube as part of the download process in YouTube-DL. I was able to accomplish that with the following steps.

  1. I installed the Get Cookies extension in Chrome. This extension allows users to export cookies for a site as a text file. (At this point I had to restart Chrome to make the Get Cookies extension work)

  2. I then visited YouTube.com, and while I was logged in, I right-clicked the page and clicked "Get cookies.txt"

  3. This created a youtube.com_cookies.txt file in my Downloads folder

  4. Finally I ran the following command in the Terminal to download the video:

    youtube-dl -f bestvideo+bestaudio --merge-output-format mkv --all-subs --cookies "/home/[Home folder name]/Downloads/youtube_com.txt" [YouTube URL]