youtube.sh

MythTV, Tvtime, Mplayer etc.
Anche programmi o script di conversione tipo
projectx, transcode, vdrconvert, dvdauthor etc.

Moderatori: ragno, tapino, alez, zulu, davidea

Rispondi
Avatar utente
alez
Messaggi: 3074
Iscritto il: 09 mag 2007, 17:11

youtube.sh

Messaggio da alez »

Ho trovato un simpatico script di shell che sfrutta wget per scaricare video in formato .flv da YouTube:

Codice: Seleziona tutto

#!/bin/sh
if [ "$#" != "0"]; then
echo "YouTube Video Downloader"
echo
echo "Uso:"
echo " youtube.sh http://www.youtube.com/watch?v=<video_ID>"
echo " o"
echo " youtube.sh <video_ID>"
echo
exit 64
fi
VID=$(echo "$1"|sed "s/.*v=\([^&]*\).*/\1/")
URL1="http://www.youtube.com/watch?v=$VID"
echo -n "Scarico $URL1 …"
PARAM="$(wget -q -O - "$URL1"|grep watch_fullscreen|cut -d '&' -f 3)"
echo " Finito!"
URL2="http://www.youtube.com/get_video?video_id=$VID&$PARAM"
echo -n "Scarico $URL2 …"
URL3="$(wget -S "$URL2" 2>&1|sed -n /Location:/s/.*http:/http:/p)"
echo " Finito!"
echo "Video address is $URL3"
exec wget -O "$VID.flv" "$URL3"
dato che vdr tramite mplayer puo' vedere i .flv perchè non approfittarne? :D

Sarebbe carino un pluggo che sfrutta questo scipt per passare diretamente ad mplayer il video...
Ciao alez
Avatar utente
alez
Messaggi: 3074
Iscritto il: 09 mag 2007, 17:11

Re: youtube.sh

Messaggio da alez »

Aggiornamento: questa mattina volevo scaricarmi l'ultimo intervento di Travaglio e mi sono accorto che youtube.sh non funge +, probabilmente han cambiato schema nella pagina web.

Ho trovato questo:

http://snipplr.com/view/5084/downloader ... e-youtube/

Codice: Seleziona tutto

#!/bin/bash
if [ $# -lt 1 ]; then
        echo "Uso: $0 "
        exit 1
fi

ID=`echo $1 | cut -d= -f2 | cut -d\& -f1`
FILE="youtube-${ID}"
BASE_URL="http://youtube.com/get_video.php"

wget -O /tmp/${FILE} $1

if [ $? == 0 ]; then
    
    T_PARAM=`grep '&t=' /tmp/${FILE} | head -n 1 | awk -F'&t=' '{print $2}' | cut -d\& -f 1`
    VIDEO_URL="${BASE_URL}?video_id=${ID}&t=${T_PARAM}"
    
    wget -O ${FILE}.flv $VIDEO_URL
    
    if [ $? != 0 ]; then
        rm -f ${FILE}.flv
        exit 1
    else
        echo "Formato (avi , mpg o wmv): "
        read formato
        ffmpeg -i ${FILE}.flv ${FILE}.$formato
    fi
fi
rm -f /tmp/${FILE}
Una discreta figata, quando finisce di scaricare il .flv ti chiede in che formato vuoi convertirlo (avi , mpg o wmv), poi lancia ffmpeg e lo converte :D
Ciao alez
Rispondi