Problèmes de téléchargement de playlist à l'aide de YouTube-DL

19

J'ai reçu un message indiquant que le youtube-dl doit être mis à jour lorsque j'essaie de télécharger une liste de lecture à partir de YouTube lorsque j'essaie de le mettre à jour J'ai ce message d'erreur:

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.
elshahen
la source
Alors ... avez-vous fait quoi que ce soit suggéré?
Nattgew
1
J'ai rencontré le problème décrit dans le titre, mais pour une autre raison. Si quelqu'un rencontre cela (mais le message d'erreur est différent), n'oubliez pas de mettre votre URL entre guillemets, par exemple youtube-dl -x "https://www.youtube.com/watch?v=abcd&list=efgh", car les shells Windows cmd.exe et Linux interprètent l'esperluette &comme un caractère spécial.
f.ardelian

Réponses:

31

J'ai eu ce problème .. Essayez de cette façon ...

Supprimer l'ancienne version de YouTube-DL

sudo apt-get remove -y youtube-dl

Téléchargez la dernière version sur le site officiel

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

Modifier l'autorisation du fichier téléchargé

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

Consultez ce lien pour plus de détails.

J'espère que cela vous aide ..

Prince Saiyan
la source
6

Utilisez le ppa de webUpd8: ppa: nilarimogard / webupd8

Il contient toujours la version la plus récente.

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

J'ai essayé de télécharger la liste de lecture dans votre question et j'ai reçu le même message d'erreur que vous. Plutôt que de mettre à jour youtube-dl qui fonctionne correctement, je suis allé sur la page Web de votre liste de lecture, j'ai copié l'URL et j'ai exécuté les commandes suivantes à partir du 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  

Les résultats de ces commandes étaient une liste de tous les liens sur cette page Web. J'ai fait un fichier batch avec une liste des URL de toutes les vidéos qu'il contient (uniquement les vidéos, pas les autres liens), chaque URL de la vidéo sur une nouvelle ligne. Après cela, j'ai pu télécharger toutes les vidéos avec une seule commande en suivant ces instructions.

  1. Créez un fichier batch qui est un fichier texte contenant une liste d'URL de vidéos de YouTube que vous souhaitez télécharger. Les URL doivent être organisées dans une liste ayant une seule URL et rien d'autre sur chaque ligne, avec une nouvelle ligne pour chaque URL de la liste. Enregistrez le fichier de commandes sous un nom facile à mémoriser, comme batch-file.txt. Si plusieurs fichiers se trouvent tous sur la même page Web d'utilisateur, de chaîne ou de liste de lecture dans YouTube, vous pouvez générer un fichier texte avec une liste contenant tous les liens sur cette page en exécutant la commande suivante:

    youtube-dl -j --flat-playlist "https://<yourYoutubePlaylist>" | jq -r '.id' | sed 's_^_https://youtu.be/_' > batch-file.txt 
    
  2. Depuis le terminal, exécutez:

    youtube-dl -ct --simulate --batch-file='/path/to/batch-file.txt'
    
  3. Il s'agit de la commande de base, mais vous devez également ajouter les formats des vidéos que vous souhaitez télécharger, sinon vous pourriez vous retrouver à télécharger des vidéos avec des formats que vous ne vouliez pas. Donc, simulez d'abord votre téléchargement pour voir si le format souhaité est disponible:

    youtube-dl -ct -f 34 --simulate 'http://www.youtube.com/some-alphanumeric-string'
    
  4. Si le format vidéo ne sont pas disponibles , vous obtenez un message d'erreur qui dit: requested format not available. Si le format vidéo est disponible, vous n'obtiendrez aucun message d'erreur lorsque vous utilisez l' --simulateoption. Vous pouvez également ajouter l' -Foption pour voir tous les formats valides comme celui-ci:

    youtube-dl -F 'http://www.youtube.com/some-alphanumeric-string'
    
  5. Dans la commande ci - dessus , je l' ai utilisé le flv commun 360p format vidéo: -f 34. Vous préférerez peut-être essayer le format vidéo flv 480p en utilisant -f 35. Après avoir ajouté le format vidéo souhaité à la commande, la commande devient quelque chose comme ceci:

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

    Je n'ai pas ajouté l' --simulateoption à la dernière commande, donc cette commande serait exécutée pour de vrai.

Karel
la source
Je devais ajouter | grep index = pour obtenir uniquement les fichiers de liste lynx --dump " youtube.com/playlist?list=PLGwhw5SI2xoYKHyzQDj1y2I8vURgm8yd2 " | awk '/ http / {print $ 2}' | uniq | indice de grep =
talsibony
0

J'utilise le code ci-dessous

youtube-dl -cit https://www.youtube.com/playlist?list=PL55RiY5tL51pIQNcOLDjnaQJYuj_GjVSz

Même après la mise à jour, j'ai eu une erreur similaire. Donc, au lieu de «-cit», j'ai utilisé «-citv» et cela a fonctionné.

youtube-dl -cit https://www.youtube.com/playlist?list=PL55RiY5tL51pIQNcOLDjnaQJYuj_GjVSz
CodeGench
la source