mercoledì 14 marzo 2012

Bash Script: convertire tutti i file video FLV in AVI

Oggi mi è venuto in mente di postare un po' di script bash molto utili che si trovano in giro sul web e che mi hanno aiutato in alcuni momenti della mia vita linuxiana.
Cominciamo analizzando come primo script uno di mia creazione: FLV2AVI, che come si intuisce dal nome stesso permette di convertire tutti i video FLV presenti un una cartella in AVI. I video ovviamente FLV più famosi sono quelli scaricati da Youtube (o da qualunque altro servizio di streaming video). Convertendoli in AVI avrete maggiore flessibilità (spesso non tutti i player video riproducono FLV oppure riescono a gestirli a pieno nel seek).
Ma passiamo subito allo script, eccolo:
#!/bin/sh
echo "__..--Macromedia Flash Video to XviD converter by Red Squirrel--..__\n"
echo "Notes:"
echo "-This program requires xvid and mp3lame codecs and mencoder tool installed in your distro."
echo "-Conversion is made preserving quality (bitrate = 1000kb/s) and resolution of your videos."
echo "-Visit www.psp-cheats.it/redsquirrel for questions and bugs.\n"
echo "Press ENTER to start conversion..."
read to pause

for file in *; do
if file "$file" | grep -q "Macromedia Flash Video"; then
mencoder "$file" -ovc xvid -xvidencopts bitrate=1000:autoaspect -vf pp=lb -oac mp3lame -lameopts fast:preset=standard -o "`basename "$file" .flv `.avi"
else
echo "Skipping $file because it isn't a Flash Video..."
fi
done

echo "All done. Bye bye!"
exit 0
Analizziamolo ora. Innanzitutto, tolto l'header, si entra subito in un ciclo FOR che analizza tutti i file presenti nella cartella attuale. Subito dopo troviamo un semplice IF che controlla se il file corrente è un video FLV. In caso positivo si passa quindi alla conversione vera e propria, utilizzando mencoder.
I parametri passati a mencoder sono essenzialmente quelli migliori per i video medi di Youtube, ossia risoluzione identica all'originale e bitrate impostato a 1000kb/s. Come codec video si usa XVID, come codec audio invece il classico MP3. Infine al file si dà l'identico nome dell'originale (esclusa la vecchia estensione FLV), questo ovviamente per poterli riconoscere facilmente.
Naturalmente si possono sempre modificare i parametri passati a mencoder come più vi aggrada, ad esempio cambiando il codec audio o video, oppure cambiando la risoluzione o il bitrate ;)

Nessun commento:

Posta un commento