Baixando vídeos do Youtube pelo terminal


Neste artigo/dica irei abordar um pouco sobre um aplicativo que nos permite baixar vídeos, e até uma playlist inteira do Youtube, tudo isso realizado pelo terminal. Para os que não sabem, estou falando do youtube-dl. A seguir demonstro sua utilização de forma simples.

Adiciona a linha abaixo, caso ainda não a tenha, em seu arquivo /etc/apt/sources.list

echo "deb http://ftp.br.debian.org/debian-backports/ squeeze-backports main" >> /etc/apt/sources.list

Instalando o youtube-dl

sudo apt-get update # atualiza os repositórios
sudo apt-get -y install youtube-dl # instala sem pedir confirmação

Executando o aplicativo

sudo youtube-dl -U # procura por versões mais novas e atualiza-o
sudo youtube-dl --version # talvez atualize novamente (uma única vez, caso especial)

time \
youtube-dl \
http://youtube.com/playlist?list=PLFCCF1CA488CE29A7 \
--restrict-filenames \
--console-title \
-c \
-o "%(autonumber)s--%(id)s--%(title)s.%(ext)s" \
-f 35

# baixa todos os videos da playlist - (Parâmetro: http://youtube.com/playlist?list=PLFCCF1CA488CE29A7 \)
# no formato indicado (35 = flv 854x480) - (Parâmetro: -f 35)
# nomeando os arquivos sequencialmente, com o id original do YT, o titulo do vídeo, limitado a caracteres ASCII e a extensão adequada (flv, no caso) - (Parâmetro: -o "%(autonumber)s--%(id)s--%(title)s.%(ext)s" \)
# reiniciando o download do ponto em que parou em caso de interrupção (Parâmetro: -c \)
# mostra, no final, o tempo total de operação - (Parâmetro: time \)
# mantem o titulo da janela atualizado com o status do download, se possível - (Parâmetro: --console-title \)

Caso você se pergunte, qual formato eu escolho na hora de baixar?
Para ver quais os formatos um determinado vídeo no YouTube tem disponível para download:

$ youtube-dl -F -- -TzUgmmTiQc

Observem que basta usar o código do vídeo, não é necessária a URL inteira.

Isso também vale para os códigos das playlists:

$ youtube-dl -F PLFCCF1CA488CE29A7

A propósito, o primeiro exemplo enfrenta um comportamento talvez pouco conhecido dos comandos, e o contorna:
Foi usado o ‘–‘ após o último parâmetro apenas porque o código do vídeo começa com ‘-‘, e portanto poderia ser confundido pelo comando com um parâmetro inválido. Esse “parâmetro” especial ‘–‘ também está disponível nos outros comandos/scripts que usam a biblioteca/comando getopt para analisar o array de parâmetros.

Ele é necessário em várias situações, como para apagar um arquivo cujo nome comece com o caracter ‘-‘, por exemplo:

$ rm -arquivo.txt
rm: opção -- 'a' inválida
Experimente "rm --help" para mais informações.
$ rm -- -arquivo.txt

Uma complementação: caso não consigam visualizar os formatos disponíveis para o vídeo desejado, e queiram ver qual o valor do parâmetro -f que pode ser usada, tem essa página na Wikipedia: http://en.wikipedia.org/wiki/YouTube#Quality_and_codecs

E se você simplesmente omitir o -f, o youtube-dl irá baixar o formato de maior qualidade possível relatado pelo Youtube.

Pronto. Então é isso, aguardo os comentários…

4 Responses to Baixando vídeos do Youtube pelo terminal

  1. William disse:

    Bom dia,

    Perfeito a dica, gostei muito… parabéns!!!

    Só uma dúvida, onde são armazenados os download´s?

    Att,

    William

  2. William disse:

    Como eu estava em outro diretório, o pwd não foi suficiente.
    Então utilizei o comando: 1º (updatedb): serve p/ atualizar o histórico, últimos arquivos gravados/renomeados etc… 2º locate “nome_do_título_do_DVD_música_algo_do_tipo”

    Valeu pela dia root,

    Show seu blog!!!

    William

    • root disse:

      Que bom que funcionou..

      Porém, o comando pwd, quando você o executa eles mostra pra você o caminho do diretório onde você se encontra. Por exemplo, quando você abrir o terminal e digitar pwd ele retornará uma linha abaixo informando que você está no diretório /home/nome_do_usuario.

      Entendeu?

Conte-nos o que achou...

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: