Problems downloading playlist using youtube-dl

I got message that the youtube-dl have to be updated when I try to download a playlist from youtube when I try to update I have this error message:

elshahen@elshahen-LAB:~$ youtube-dl -cit https://www.youtube.com/playlist?list=PLGwhw5SI2xoYKHyzQDj1y2I8vURgm8yd2
[youtube:playlist] PLGwhw5SI2xoYKHyzQDj1y2I8vURgm8yd2: Downloading page #1
WARNING: [youtube:playlist] PLGwhw5SI2xoYKHyzQDj1y2I8vURgm8yd2: Playlist page is missing OpenGraph title, falling back ...
ERROR: Unable to extract title; please report this issue on https://yt-dl.org/bug . Be sure to call youtube-dl with the --verbose flag and include its complete output. Make sure you are using the latest version; type  youtube-dl -U  to update.

I did had this problem.. Try out this way...

Remove the old version of youtube-dl

sudo apt-get remove -y youtube-dl

Download the latest version from the official website

sudo wget https://yt-dl.org/latest/youtube-dl -O /usr/local/bin/youtube-dl

Change the permission of the downloaded file

sudo chmod a+x /usr/local/bin/youtube-dl

Check out this link for more details.

Hope this helps you..


Use the ppa of webUpd8: ppa:nilarimogard/webupd8

It always contains the most up2date version.

sudo apt-get remove youtube-dl
sudo apt-add-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install youtube-dl

I tried downloading the playlist in your question, and I got the same error message you did. Rather than update youtube-dl which is working fine the way it is, I went to your playlist webpage, copied the URL and ran the following commands from the terminal:

sudo apt install jq # command-line JSON processor    
cd Desktop/    
youtube-dl -j --flat-playlist "https://<yourYoutubePlaylist>" | jq -r '.id' | sed 's_^_https://youtu.be/_' > batch-file.txt  

The results of these commands were a list of all the links on that webpage. I made a batch file with a list of the URLs of all the videos in it (only the videos, not the other links), each video URL on a new line. After that I could download all the videos with a single command by following these instructions.

  1. Create a batch file which is a text file containing a list of URLs of videos from YouTube that you want to download. The URLs should be arranged in a list having only one URL and nothing else on each line, with a new line for each URL in the list. Save the batch file with a name that is easy to remember like batch-file.txt. If the multiple files are all on the same user, channel or playlist webpage in YouTube, you can generate a text file with a list that has all the links on that page by running the following command:

    youtube-dl -j --flat-playlist "https://<yourYoutubePlaylist>" | jq -r '.id' | sed 's_^_https://youtu.be/_' > batch-file.txt 
    
  2. From the terminal run:

    youtube-dl -ct --simulate --batch-file='/path/to/batch-file.txt'
    
  3. This is the basic command, however you also need to add the formats of the videos that you want to download or else you may find yourself downloading videos with formats that you didn't want. So first simulate your download to see if the format you want is available:

    youtube-dl -ct -f 34 --simulate 'http://www.youtube.com/some-alphanumeric-string'
    
  4. If the video format is not available you will get an error message that says: requested format not available. If the video format is available you will not get any error message when you use the --simulate option. You can also add the -F option to see all valid formats like this:

    youtube-dl -F 'http://www.youtube.com/some-alphanumeric-string'
    
  5. In the above command I have used the common flv 360p video format: -f 34. You might prefer to try the flv 480p video format by using -f 35. After you have added the video format that you want to the command, the command becomes something like this:

    youtube-dl -f 35 -ciw -o "%(title)s.%(ext)s" --batch-file='/path/to/batch-file.txt'  
    

    I didn't add the --simulate option to the last command, so this command would be executed for real.