Baixando vídeos do Youtube manualmente
Colaboração: Mateus da Silva Teixeira
A dica abaixo mostra como baixar um vídeo em seu formato flash (.flv). Depois disso o usuário poderá usar o seu conversor de vídeo favorito para convertê-lo para o formato que desejar. Vamos assumir que queremos baixar o vídeo no endereço:
http://www.youtube.com/watch?v=hEWFeHIv2qkO procedimento divide-se em 3 passos:
Passo 1 -> dar um wget no endereço do vídeo
wget -O infovideo.tmp 'http://www.youtube.com/watch?v=hEWFeHIv2qk'
OBS: coloque o endereço do vídeo entre aspas simples para evitar que o shell as interprete.
Passo 2 -> Encontrar a identificação do vídeo dentro do arquivo gerado pelo wget, infovideo.tmp
more infovideo.tmp | grep player2.swf\?video_id=
O comando acima dará como resultado algo parecido com o seguinte:
var fo = new SWFObject("/player2.swf?video_id=hEWFeHIv2qk&l=106&t=OEgsToPDskJ_27VEighnJ7g4nI5DZv6X", "movie_player", "450", "370", 7, "#FFFFFF");
deste resultado, interessará apenas a parte abaixo
video_id=hEWFeHIv2qk&l=106&t=OEgsToPDskJ_27VEighnJ7g4nI5DZv6X
Passo 3 -> dar um wget no site do YouTube, mas com a informação encontrada no passo 2
wget -O <título_do_vídeo>.flv 'http://www.youtube.com/get_video?video_id=hEWFeHIv2qk&l=106&t=OEgsToPDskJ_27VEighnJ7g4nI5DZv6X'
sendo que <título_do_vídeo> é um título qualquer dado pelo usuário.
OBS: novamente, coloque o endereço entre aspas simples.
NOTA: note que a construção do endereço pode ser feita como segue:
1. endereço do YouTube ->
http://www.youtube.com/ 2. ação dentro do YouTube -> get_video
3. um ponto de interrogação -> ?
4. a identificação do vídeo -> video_id=... (encontrada no passo 2)
Após estes três passos, o vídeo estará salvo em seu PC com o nome <título_do_vídeo>.flv e poderá ser visto com o Xine, MPlayer ou outro software de sua preferência, ou convertido para um outro formato com o seu software de conversão de vídeo de sua preferência.
fonte:http://www.dicas-l.com.br/dicas-l/20070220.php
Outra forma quase parecida citada pelo Amigo Arlei fonte:http://www.dicas-l.com.br/dicas-l/20070705.php
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}"
Tambem poderia ter feito em uma unica linha usando o xargs, porém ficaria um pouco poluído para publicar neste formato, mas fica aí a dica.