De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.


Fazendo download de videos do youtube via shell script

Colaboração: Tiago Barcellos Peczenyj

Data de Publicação: 05 de Julho de 2007

Apresentação

Não é incomum encontrar algum video curioso no site youtube.

Cerca de um ano atras eu pesquisei uma forma de fazer o download automatico de videos do youtube informando o id ou a url inteira. Ele é bem didático, basta ser um pouco nerd e conhecer um pouco de expressões regulares.

Minha inspiração para postar este script surgiu do feito do Warren Harding, que baixou um vídeo do referido site usando o Lynx e usou o Mplayer para exibir o vídeo no modo ASCII. O resultado é divertido.

#!/bin/bash
# youtube downloader
# usage: script
# YouTube URL: http://www.youtube.com/watch?v=[video_id]

[ -z "${1}" ] && { echo 'Error! Missing url or video_id!' ; exit 1 ; }

URL="http://www.youtube.com"

# download link: http://youtube.com/get_video?video_id=[video_id]&t=[t_id]&...

DOWNLOAD=`wget -qO - "${URL}/watch?v=${1/*=}" | grep -oE 'video_id=.*&t=[^\"&]*' | head -1`

wget -O "${1/*=}.flv"  "${URL}/get_video?${DOWNLOAD}"

Eu poderia ter feito tudo em uma unica linha usando xargs, porém ficaria um pouco poluído para publicar neste formato, mas fica aí a dica.



Veja a relação completa dos artigos de Tiago Barcellos Peczenyj