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.