lunedì 27 agosto 2007

aggiunte nuove funzionalità al mio script multimediale






Ho migliorato un po la grafica dello script aggiungendo l'uso del comando zenity per selezionare i file da convertire, oltre alla conversione di file mp3,wav e divx ho aggiunto la possibilità di convertire file flv e file wav in ogg.

vi consiglio di crearvi una cartella nella scrivania da utilizzare come contenitore dei file da trasformare, ad esempio per convertire file wav in mp3 vi basterà selezionare la cartella dove si trovano i file audio.



I tool che devono essere presenti nel sistema sono:
lame, tovid, dialog, makedvd, makexml,dvdauthor, ffmpeg, vorbis-tool installatele con synaptic, per tovid seguite i consigli dati nel mio post precedente.

eccovi il listato dello script.

#!/bin/bash
# piccolo script multimediale.
# potete migliorare o riscrivere questo script secondo le vostre esigenze
#-------------------------------------------------------------------------------------------------------------------------------
# script per convertire filmati avi in dvd, wav in mp3, wav in ogg e file flv in mpg
#-------------------------------------------------------------------------------------------------------------------------------

# programmi necessari lame, tovid, dialog, makedvd, makexml,dvdauthor,
# ffmpeg, vorbis-tool
# creazione delle funzioni

# per convertire da avi in mpeg utilizziamo tovid
# per creare la struttura del dvd si utilizzano i programmi makedvd e makexml


dvd() {
video=`zenity --title "seleziona il file" --file-selection`
tovid -wide -pal -in $video -out $HOME/convertito
makexml -dvd $HOME/convertito.mpg -out $HOME/convertitoxml
makedvd -author $HOME/convertitoxml.xml
dialog --yesno "vuoi continuare masterizzando il dvd" 0 0; \
case $? in
0) makedvd -burn $HOME/convertitoxml;;
1) exit;;
esac
exit
}
# per la conversione di file mp3 in wav ci serviamo di lame
# sintassi comando lame --decode file.mp3
mp3() {
a=`zenity --title "percorso dei file mp3" --file-selection --directory`
percorso="$a/*"
for audio in $percorso
do
lame --decode $audio
done
exit
}

# per la conversione di file musicali wav in mp3 si usa lame.
# sintassi del comando lame file.wav
wav() {
b=`zenity --title "percorso file wav" --file-selection --directory`
per="$b/*"
for au in $per
do
lame $au
done
}


# ffmpeg per convertire il filmato flv in mpg
flv() {
# percorso filmato flv si usa zenity
flm=`zenity --title "percorso file flv" --file-selection`
ffmpeg -i $flm filmato.mpg
}

# per convertire file wav in ogg ci serviamo del programma oggenc
ogg() {
oggw=`zenity --title "percorso dei file wav" --file-selection --directory`
ow="$oggw/*"
for oggwav in $ow
do
oggenc --quiet $oggwav
done
}
# per vonvertire i file ogg in wav ci serviamo del programma oggdec
wavogg() {
decode=`zenity --title "percorso file ogg" --file-selection --directory`
dec="$decode/*"
for deco in $dec
do
oggdec $deco
done
}
# uso del programma dialog per creare l'interfaccia del menu.

dialog --menu "convertitore multimediale" 0 0 0 \
1 "converte da avi in dvd" \
2 "conversione da mp3 a wav" \
3 "converte da wav a mp3" \
4 "converte filmati flv in mpeg" \
5 "converte da wav in ogg" \
6 "converte file ogg in wav" \
7 "esci" 2> /tmp/menu.$$
variabile=`cat /tmp/menu.$$`
rm -rf /tmp/menu.$$
case $variabile in
1) dvd;;
2) mp3;;
3) wav;;
4) flv;;
5) ogg;;
6) wavogg;;
7) exit;;
esac

2 commenti:

moro83 ha detto...

ciao, io ho provato a convertire un file .avi in dvd con il tuo script ma ricevo sempre questo messaggio di errore:

makedvd
A script to create a DVD-Video file structure and burn it to DVD
Part of the tovid suite, version 0.30.2
http://www.tovid.org
--------------------------------
=========================================================
Please insert a blank DVD+/-R(W) disc into your DVD-recorder
(/dev/dvdrw) if you have not already done so.
=========================================================
Found blank DVD+RW.
Using disk label "CONVERTITOXML"
=========================================================
Burning with growisofs 7.0.1 using the following command:
growisofs -use-the-force-luke=dao -dvd-compat -Z /dev/dvdrw -dvd-video -V "CONVERTITOXML" "/root/convertitoxml"
=========================================================
Executing 'genisoimage -dvd-video -V CONVERTITOXML /root/convertitoxml | builtin_dd of=/dev/dvdrw obs=32k seek=0'
I: -input-charset not specified, using utf-8 (detected in locale settings)
Unknown file type (unallocated) /root/convertitoxml/.. - ignoring and continuing.
genisoimage: No such file or directory. Failed to open VIDEO_TS.IFO
genisoimage: Can't open VMG info for '/root/convertitoxml/'.
genisoimage: Unable to parse DVD-Video structures.
genisoimage: Unable to make a DVD-Video image.
Possible reasons:
- VIDEO_TS subdirectory was not found on specified location
- VIDEO_TS has invalid contents
:-( write failed: Input/output error
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
makedvd encountered an error during the DVD creation process:
Could not burn the disc to /dev/dvdrw
See if anything in the above output helps you diagnose the
problem, and please file a bug report at tovid.org (_not_
the dvdauthor list) containing the above output.
Sorry for the inconvenience!

hai qualche idea?
grazie

santo vasta ha detto...

devi installare il programma tovid