martedì 5 maggio 2009

Prima panoramica su DTube (rel. 0.2)

Volevo editare il precedente post, anche per rispondere ad Alex, ma preferisco farne uno nuovo in modo da presentare anche lo script.


Lasciamo stare per un attimo il logo che è naturalmente temporaneo e andiamo a visualizzare lo script in sè, per lo meno ciò che è ora:
#!/bin/bash
wget $3 -O .youtube-spl.htm
nome=$4
temp=".tmp.flv"
url_base="http://youtube.com/get_video.php?"
DOWNLOAD () {
mkdir .dtube
mv .youtube-spl.htm .dtube
cd .dtube
video=$(cat .youtube-spl.htm | grep -i fullscreenurl | cut -d "/" -f2 | cut -d "'" -f1)
end=${url_base}${video}
wget ${end} -O ${temp}
}
RMTEMP () {
cd ..
rm -rf .dtube
}
case $1 in
-a | --audio )
DOWNLOAD
case $2 in
mp3 )
ffmpeg -i ${temp} ../${nome}.mp3
;;
esac
RMTEMP
;;
-v | --video )
DOWNLOAD
case $2 in
ogg )
ffmpeg -i ${temp} ../${nome}.ogg -acodec libvorbis
;;
mpg )
ffmpeg -i ${temp} ../${nome}.mpg
;;
esac
RMTEMP
;;
esac
Ho tolto tutti i commenti ed ammetto che non è scritto bene, oltre ad offrire davvero poco, ma ho già fatto una faticaccia a farlo funzionare perchè sulla 8.10 di Ubuntu ffmpeg ha diversi problemi... Ho paura di dover inserire come dipendenza addirittura VLC.

Ad ogni modo, cosa fa? E come si usa? Nell'attesa di un'interfaccia grafica che probabilmente non arriverà mai perchè mi stancherò prima ( ^^'' ), è necessario metter mano al terminale. Il comando da eseguire è semplice e facilmente comprensibile, vado con ordine...

Estrarre l'audio da un video di Youtube e salvarlo in mp3
Il comando è il seguente:
./dtube -a mp3 indirizzo_del_video nome_del_file
Ad esempio
./dtube -a mp3 http://www.youtube.com/watch?v=VhtxaYawXVc Dammene_ancora
In questo modo verrà creato nella cartella in cui vi trovate il file "Dammene_ancora.mp3".

Scaricare il video in formato Ogg
Il comando è il seguente
./dtube -v ogg indirizzo_del_video nome_del_video
Ad esempio
./dtube -v ogg http://www.youtube.com/watch?v=VhtxaYawXVc Dammene_ancora
In questo modo verrà creato nella cartella in cui vi trovate il file "Dammene_ancora.ogg". Questo è il formato video consigliato da usare.

Scaricare il video in formato Mpg
Il comando è il seguente
./dtube -v mpg indirizzo_del_video nome_del_video
Ad esempio
./dtube -v ogg http://www.youtube.com/watch?v=VhtxaYawXVc Dammene_ancora
In questo modo verrà creato nella cartella in cui vi trovate il file "Dammene_ancora.mpg".

Banale no? Tre raccomandazioni: seguite esattamente l'ordine dei comandi perchè ancora non percepisce gli errori di input in modo intelligente, non inserite l'estensione del file (tanto non serve), non preoccupatevi dei numerosi "Not found" di WGet ;)

Non ho inserito la trasformazione in audio ogg oltre che mp3 perchè non riesco... Per il futuro spero di riuscire ad implementare la trasformazione in avi, 3gp, mp4 e ogg audio. Vorrei inoltre eliminare la serie di problemi (so già come fare) relativi ai warning e ai download di troppo di wget, vorrei permettere il semplice download in flv, crearne il deb, risolvere i problemi di codec con la 8.10 di Ubby (io l'ho fatto), aggiungere le ottimizzazioni in stato di conversione, permettere di decidere se mantenere anche il file originale, poter usare gli spazi nel nome del file finale e bo, magari dell'altro, magari chiedete se avete qualche esigenza particolare che vedo di implementarla ;)

Comunque, per Alex e tutti gli amici che vogliono provarlo copiate il source in un file, salvatelo e date il comando:
chmod a+x nome_file
Quindi eseguitelo come indicato sopra. Non voglio dire cazzate, ma penso che lo script possa essere usato anche su Windows grazie a Cygwin. Mi sono rotto di scrivere, per qualsiasi cosa mi trovate qui, un bacio a tutti. :P


EDIT:
Dimenticavo, vi lascio anche il changelog:
dtube v0.2 (added features e bugfix)
+ Lavoro in cartella temporanea
+ Estrazione del solo audio in mp3
+ Conversione in ogg (video)
+ Modifiche su variabili
+ Conversione in mpg
+ Rivista struttura codice

dtube v0.1 (features iniziali)
+ Viene riconosciuto il file da scaricare
+ Download del file
Ho anche provato il deb della prossima release (quello che ne esiste al momento per lo meno) e pare funzionare, fico :) Ah! Per chi volesse provarlo su Ubuntu ho usato queste dipendenze: vlc, ffmpeg, wget. Ciau

5 commenti:

Lario3 ha detto...

Sembra un programma molto utile... peccato che io di queste cose non ci capisca quasi nulla!!!

Grazie mille per il bel commento, CIAO!!!

Alex ha detto...

Mhm ottimo.
Lo script come lo salvo? Devo farlo partire da terminale prima di dare i comandi?

spillo ha detto...

@ Lario3: grazie mille, bè al massimo quando ti serve metter mano sui video di youtube fammi un fischio ;)

@ Alex: copia lo script in un file e salvalo, chiamalo come vuoi, io uso "dtube" ovviamente :)
A questo punto dai:
chmod a+x nome_del_file_salvato
e lo esegui come indicato, sempre da terminale...

Se mi contatti via mail ti posso anche passare il deb così si semplifica tutto. Questo ovviamente vale per chiunque ;)

Alex ha detto...

Ho provato ma mi da questo errore:
2009-05-06 10:08:51 (145 KB/s) - ".youtube-spl.htm" salvato [106240/106240]

FFmpeg version r11872+debian_3:0.svn20080206-12ubuntu3.1, Copyright (c) 2000-2008 Fabrice Bellard, et al.
configuration: --enable-gpl --enable-pp --enable-swscaler --enable-x11grab --prefix=/usr --enable-libgsm --enable-libtheora --enable-libvorbis --enable-pthreads --disable-strip --enable-libfaad --enable-libfaadbin --enable-liba52 --enable-liba52bin --enable-libdc1394 --disable-armv5te --disable-armv6 --disable-altivec --disable-vis --enable-shared --disable-static
libavutil version: 49.6.0
libavcodec version: 51.50.0
libavformat version: 52.7.0
libavdevice version: 52.0.0
built on Mar 13 2009 17:48:10, gcc: 4.3.2
.tmp.flv: no such file or directory

Grazie dell'aiuto.

spillo ha detto...

Non ti trova il file scaricato, ma ti so già dire che è colpa mia perchè ho trascritto male lo script dimenticando di riportare una funzione. Ora l'ho corretto, copialo di nuovo e scusa :)