piccolo script per vedere tutti i video di determinati canali di youtube

ho realizzato questo script per una mia esigenza.
mi serviva poter seguire delle video guide dal canale del muflone e di NiktortheNat, e se li visualizzavo con il browser a tutto schermo, dopo un po’, come tutti gli utilizzatori di Gnu/Linux sanno, mi esplodeva il pc :) .
allora ho realizzato questo script (potete scaricarlo da qui: http://paste.ubuntu.com/576051/)
Lo script dipende da VLC e da youtube-dl che dovete scaricare da qui:
http://www.megaupload.com/?d=NPE4Z85R o da qui: http://www.box.net/shared/8u2minhh3g
lo si installa estraendolo in /usr/bin (se avete già un youtube-dl installato rinominatelo youtube-dl.old) e poi estraete il “mio” youtube-dl in /usr/bin
altrimenti non funziona con la versione originale di youtube-dl
potete aggiungere tutti i canali che volete, basta mettere quando richiesto il nome del canale.
script:
##################

#!/bin/bash -x
#programma per visualizzare tutti i video dei canali di youtube :
#canali di esempio
#+ nome da aggiungere: NiktorTheNat
#sito: http://tanadelpitone.tk/
#il Muflone
#nome da aggiungere: muflube
#+http://ubuntrucchi.wordpress.com/
# script realizzato da c.realkiller
# email <dino.tartaro@gmail.com>
# nome da aggiungere (per il mio canale): dino1tartaro
#sito: http://tdinox.wordpress.com/
# dipendenze VLC media player 1.1. => , youtube-dl (che dovete scaricare da qui: http://www.megaupload.com/?d=NPE4Z85R altrimenti non funziona)
#puoi registrare il video che stai vedendo andando su VLC > visualizza > controlli aggiuntivi > e spuntare la casella 
#apparirà il pulsante rosso REC sopra al pulsante Play
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
DIR=$HOME/.getlink
if [ ! -d "$DIR" ]; then
	mkdir -p "$DIR"
fi
cd $DIR
if [  -e .getlink.tmp ]; then
	rm -f .getlink.tmp
fi
zenity --entry --title="getlink" --text="Vuoi aggiungere un canale?" >> .name.db
CH=`cat .name.db`
Channel=`zenity --list --height=200 --width=150 --title=getlink --text="Scegli il canale da vedere" --column="Seleziona" $CH`
if [ $? = 1 ]; then
	exit 0
fi
TotVid=`wget "http://m.youtube.com/profile?gl=IT&client=mv-google&hl=it&user=$Channel&view=videos&p=1" -O - | grep -o "Video ([^)]*" | sed 's/Video (//g'`
let "PageN = $TotVid / 10"
PageN=$(($PageN + 1))
let "INC = 100 / $PageN"
(for i in `seq 1 $PageN`; do
	wget "http://m.youtube.com/profile?gl=IT&client=mv-google&hl=it&user=$Channel&view=videos&p=$i" -O - 2>/dev/null | grep \
	-o '&amp;v=[^*]*' | sort \
	-u | awk -F\; '{print $NF}' | sed \
	-e 's#"># #g'\
	-e 's#</a>##g' \
	-e 's#" />##g' \
	-e '/^$/d' \
	-e 's#^#http://www.youtube.com/watch?#g' \
	-e 's#^#"#;s#$#"#;s# #"\n"#' \
	-e 's# #-#g' >> .getlink.tmp &
	sleep 0.4
	let "COUNT= $INC * $i"
 	echo "$COUNT" |  awk -F \. '{print $1}'
done) | zenity --progress --title="getlink" --text="Download LInk..." --auto-close --auto-kill
sleep 3
Sel=`cat .getlink.tmp`
while (true); do
Link=`zenity --list --height=500 --width=550 --title="getlink" --text="Clicca sull'URL sopra al video scelto" --column="Seleziona" $Sel | grep -o "http://www.youtube.com/watch?v=[^<]*"`
if [ $? = 1 ]; then
	exit 0
	fi
	Title=`youtube-dl -e $Link`
	youtube-dl $Link -o "$Title" &
	(for n in `seq 1 10`; do
	let "t= $n * 10"
	sleep 1
	echo $t
	done ) | zenity --progress --title="getlink" --text="Buffering..." --auto-close --auto-kill
	if [ $? = 1 ]; then
		break
		fi
	vlc "$Title"
	kill `ps aux | grep youtube-dl | grep -v grep | awk '{print $2}'`
	zenity --question --title="getlink" --text="Vuoi conservare il video?"
	if [ $? = 1 ]; then
			rm -f "$Title"
			else
			mv "$Title" ~/
			zenity --info --title="getlink" --text="Video salvato in $HOME" 
			fi
done
exit 0

  1. Ciao,se voglia eliminare i canali che ho aggiunto come si fa….grazie e complimenti per la funzionalità dello script

    • per adesso l’unico modo è di aprire il file .name.db con gedit (o l’editor che vuoi) e cancellare il nome del canale che vuoi eliminare.
      il file si trova nella cartella nascosta .getlink che è nella Home dell’utente usato.

      gedit ~/.getlink/.name.db

      e cancelli quello che vuoi.
      ciao!

  2. Ciao,ho provato l’aggiornamento dello script,ma ho un problema vlc si apre ma non riproduce ecco output del terminale http://paste.ubuntu.com/576085/

    • non hai letto bene il mio post sul blog, ho scritto di installare youtube-dl scaricato da dove ho indicato nel post.
      lo installi copiandolo in /usr/bin (se hai già installa youtube-dl, rinominalo in youtube-dl.old e poi copia il “mio” youtube-dl al suo posto)
      scaricalo da qui:
      http://www.box.net/shared/8u2minhh3g
      se ti da problemi sostituisci lo shabeng (la prima riga dello script youtube-dl) con questa:
      #!/usr/bin/env python

  3. Ciao, dove ti possiamo contattare?

    • in merito a? comunque: dino DOT tartaro AT gmail DOT com

  4. Grazie della disponibilita’! Avevamo un problema con un sito su wordpress e vedendo il tuo ottimo sito (gia’ nei Nostri bookmarks!) abbiamo pensato di contatarti. Ma abbiamo risolto velocemente. Ti ringraziamo davvero.
    Un saluto

  1. No trackbacks yet.

Lascia un Commento

Fill in your details below or click an icon to log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Log Out / Modifica )

Foto Twitter

You are commenting using your Twitter account. Log Out / Modifica )

Foto di Facebook

You are commenting using your Facebook account. Log Out / Modifica )

Connecting to %s

Follow

Get every new post delivered to your Inbox.