Barra laterale

programmazione:bash:script_per_scaricare_video_youtube_in_mpeg4

Script per scaricare video youtube in mpeg4

Autore: Fabio Di Matteo
Ultima revisione: 02/04/2009

Ringrazio Flavio Barbara (PAlug) per l'idea: Video di Youtube senza flash

Primo Metodo

Cominciamo con le dipendenze (le cose che servono):

  1. Mplayer/Mencoder;
  2. Wget (sicuramente già presente in GNU/Linux);
  3. grep e sed (sicuramente già presente in GNU/Linux);

Scaricare in Xvid

#!/bin/bash
 
mencoder -ovc xvid -xvidencopts bitrate=678 -oac mp3lame -o $PWD/video`date +%N`.avi "http://youtube.com/get_video.php?"`wget -q -O - $1 |grep "watch_fullscreen"|sed "s;.*\(video_id.\+\)&title.*;\1;"`

Utilizzo:

getyoutube <url tuo video>

Scaricare in flv

#!/bin/bash
 
mencoder -ovc copy -oac copy -o $PWD/video`date +%N`.flv "http://youtube.com/get_video.php?"`wget -q -O - $1 |grep "watch_fullscreen"|sed "s;.*\(video_id.\+\)&title.*;\1;"`

Utilizzo:

getyoutube <url tuo video>

Guardare video di youtube con mplayer

Dipendenze youtube-dl, mplayer

$ mplayer $(youtube-dl -g VIDEOYOUTUBE)

Possiamo mettere tutto in uno script grafico come segue:

#!/bin/sh

url=$(zenity --entry --text 'Inserisci url youtube' )
gnome-mplayer $(youtube-dl -g $url)

Secondo Metodo

Cominciamo con le dipendenze (le cose che servono):

  1. Python 2.4 o successivo (quasi sicuramente presente nelle distribuzioni di oggi)
  2. mencoder (le ultime versioni con il supporto ai file flash .flv)
  3. youtube-dl http://www.arrakis.es/~rggi3/youtube-dl/ (script python da scaricare e salvare)

Apriamo il nostro editor di testi preferito e scriviamo il segunte script salvandolo come getvideo

#!/bin/sh
 
clear
echo "- Accrocchio FreeMediaLabbesco per scaricare da youtube  -"
echo "-- by Fabio Di Matteo "
echo
echo "dipendenze: youtube-dl,  mencoder "
 
echo $PWD/video`date +%N`.flv > $PWD/url
file=`cat $PWD/url`
 
# usa youtube-dl http://www.arrakis.es/~rggi3/youtube-dl/
youtube-dl -o  $file $1
 
mencoder $file  -ovc xvid -xvidencopts bitrate=678 -oac mp3lame -o $PWD/video`date +%N`.avi
rm $file $PWD/url
 
echo
echo
echo "-- Finito. -- Speriamo bene! "

Installazione

  • copiamo youtube-dl e getvideo in /usr/bin
  • dare i permessi di esecuzione agli script con chmod +xxx /usr/bin/youtube-dl /usr/bin/getvideo

Esempio di utilizzo

Recuperiamo l'indirizzo del video che vogliamo scaricare e scriviamo in un terminale:

getvideo http://www.youtube.com/watch?v=0cmnLdN58TQ

Versione Grafica

Per realizzare la versione grafica useremo il programma zenity. Loscript ci chiederà la directory dove salvare il video e la url del video, poi farà tutte le operazioni del caso.

#!/bin/sh
 
clear
echo "- Accrocchio FreeMediaLabbesco per scaricare da youtube  -"
echo "-- by Fabio Di Matteo "
echo
echo "dipendenze: youtube-dl, zenity, mencoder "
 
 
cd `zenity --file-selection --directory ` 
 
echo $PWD/video`date +%N`.flv > $PWD/url
file=`cat $PWD/url`
 
 
 
# usa youtube-dl http://www.arrakis.es/~rggi3/youtube-dl/
xterm -T "Scaricamento $file" -bg white -fg gray -e youtube-dl -o  $file `zenity --entry --text="Incolla URL youtube" --entry-text="[url]"`
 
 
xterm -T "Codifica $PWD/video`date +%N`.avi" -bg white -fg gray -e mencoder $file  -ovc xvid -xvidencopts bitrate=678 -oac mp3lame -o $PWD/video`date +%N`.avi
 
rm $file $PWD/url
zenity --info --text="Scaricamento video terminato"
 
 
echo
echo
echo "-- Finito. -- Speriamo bene! "

Plugin Nautilus per scaricare solo audio da youtube

Creare il seguente script e posizionarlo in ~/.gnome2/nautilus-scripts/ , dopodicche' dare i permessi di esecuzione al file :

#!/bin/bash
cd NAUTILUS_SCRIPT_CURRENT_URI
url=$(zenity --entry --text="Incolla URL youtube" --entry-text="[url]") ;
 
xterm -T "Scaricamento file..." -bg white -fg gray -e mencoder -ovc frameno -oac mp3lame  -lameopts vol=4 -o $PWD/audio`date +%N`.mp3 "http://youtube.com/get_video.php?"`wget -q -O - $url |grep "watch_fullscreen"|sed "s;.*\(video_id.\+\)&title.*;\1;"`  
zenity --info --text="Scaricamento audio terminato, speriamo bene!"

Per regolare il volume dell'audio basta modificare il valore -lameopts vol=4 alla quinta riga.
A questo punto dovrebbe essere possibile usare il plugin da nautilus direttamente con il tasto destro del mouse script→audio-tube


programmazione/bash/script_per_scaricare_video_youtube_in_mpeg4.txt · Ultima modifica: 18/04/2018 - 15:48 (modifica esterna)