Problemas ao baixar a lista de reprodução usando o youtube-dl

19

Recebi a mensagem de que o youtube-dl precisa ser atualizado quando tento baixar uma lista de reprodução do youtube quando tento atualizar. Essa mensagem de erro é exibida:

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
fonte
Então ... você fez alguma coisa que isso sugeria?
Nattgew 14/10
1
Encontrei o problema descrito no título, mas por outro motivo. Se alguém se deparar com isso (mas a mensagem de erro for diferente), lembre-se de colocar seu URL entre aspas, por exemplo youtube-dl -x "https://www.youtube.com/watch?v=abcd&list=efgh", porque os shells do Windows cmd.exe e Linux interpretam o e comercial &como um caractere especial.
precisa saber é o seguinte

Respostas:

31

Eu tive esse problema .. Tente desta maneira ...

Remova a versão antiga do youtube-dl

sudo apt-get remove -y youtube-dl

Baixe a versão mais recente do site oficial

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

Alterar a permissão do arquivo baixado

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

Confira este link para mais detalhes.

Espero que isso ajude você..

Saiyan Prince
fonte
6

Use o ppa do webUpd8: ppa: nilarimogard / webupd8

Ele sempre contém a versão mais atualizada.

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

Tentei fazer o download da lista de reprodução na sua pergunta e recebi a mesma mensagem de erro que você recebeu. Em vez de atualizar o youtube-dl, que está funcionando bem, eu fui à página da sua lista de reprodução, copiei o URL e executei os seguintes comandos no 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  

Os resultados desses comandos foram uma lista de todos os links nessa página da web. Criei um arquivo em lotes com uma lista dos URLs de todos os vídeos (apenas os vídeos, não os outros links), cada URL de vídeo em uma nova linha. Depois disso, pude baixar todos os vídeos com um único comando, seguindo estas instruções.

  1. Crie um arquivo em lotes, que é um arquivo de texto que contém uma lista de URLs de vídeos do YouTube que você deseja baixar. Os URLs devem ser organizados em uma lista com apenas um URL e nada mais em cada linha, com uma nova linha para cada URL na lista. Salve o arquivo em lotes com um nome fácil de lembrar, como batch-file.txt. Se os vários arquivos estiverem todos no mesmo usuário, canal ou página da playlist no YouTube, você poderá gerar um arquivo de texto com uma lista que possua todos os links dessa página, executando o seguinte comando:

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

    youtube-dl -ct --simulate --batch-file='/path/to/batch-file.txt'
    
  3. Esse é o comando básico, no entanto, você também precisa adicionar os formatos dos vídeos que deseja baixar ou pode baixar vídeos com formatos que não deseja. Primeiro, simule seu download para ver se o formato desejado está disponível:

    youtube-dl -ct -f 34 --simulate 'http://www.youtube.com/some-alphanumeric-string'
    
  4. Se o formato de vídeo não está disponível, você receberá uma mensagem de erro que diz: requested format not available. Se o formato de vídeo estiver disponível, você não receberá nenhuma mensagem de erro ao usar a --simulateopção. Você também pode adicionar a -Fopção para ver todos os formatos válidos como este:

    youtube-dl -F 'http://www.youtube.com/some-alphanumeric-string'
    
  5. No comando acima Eu tenho usado o formato de vídeo comum flv 360p: -f 34. Você pode preferir experimentar o formato de vídeo flv 480p usando -f 35. Depois de adicionar o formato de vídeo que você deseja ao comando, o comando se torna algo como isto:

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

    Não adicionei a --simulateopção ao último comando, portanto esse comando seria executado de verdade.

karel
fonte
Eu tive que adicionar | grep index = para obter apenas os arquivos da lista lynx --dump " youtube.com/playlist?list=PLGwhw5SI2xoYKHyzQDj1y2I8vURgm8yd2 " | awk '/ http / {print $ 2}' | uniq grep index =
talsibony
0

Eu tenho usado o código abaixo

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

Mesmo após a atualização, recebi um erro semelhante. Então, em vez de '-cit', usei o '-citv' e funcionou.

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