venerdì 25 marzo 2011

mpg2avi - mpg2flv converter

Succede di dover far fronte agli incarichi più assurdi, quando ci si occupa di Tecnologia e scienza delle informazioni e si entri in contatto con utonti istituzionali, ovvero coloro che hanno il potere. Questi utonti di stato sono pagati profumatamente e godono di molti privilegi ma hanno un terribile difetto. Quando, per qualsiasi motivo entrano in contatto con un computer, o ne sentono solo accennare la parola, ecco che in loro scatta la tipica reazione dell'utonto, che li autorizza a spegnere totalmente il cervello e chiedere "aiuto" al "tecnico". Ai loro occhi il "tecnico" è "l'amico del cuggino che lavora all'ibiemme" o il rivenditore di cancelleria sotto casa che, ovviamente conscio che il mercato è ormai composto da polli già spennati e cotti pronti all'uso, infila negli scaffali fra CD e DVD da masterizzare dei PC giusto per figurare come rivenditori di tecnologia ad alto valore aggiunto. Stavolta è toccato a me essere chiamato perchè il committente non riesce a visualizzare nel suo PC dei filmati. (strano...non ho nessun cuggino che si occupa di informatica). E' solo un problema di codec ma non sono autorizzato e nemmeno ne ho l'intenzione di installarglieli. Preferisco procedere con una conversione in formati diversi, almeno uno di questi riuscirà a leggerlo... spero. Dato che sono centinaia, ho preferito crearmi uno script che automatizza il processo e velocizzare le operazioni. Lo script per GNU linux usa mencoder e ffmpeg per convertire dal formato .mpg ad .avi e .flv (Flash)
Eccolo:
#---------------------------------------
#!/bin/bash

#mpg2avi mpg2flv (Converte filmati mpeg streams in avi mpeg4con audio mp3 e flv flash movie)


#inizio
clear

current_directory=$( pwd )
# video bitrate (1100 = per filmati di circa 500 MB )
#vbitrate=1100
vbitrate=800


# rimuove gli spazi nel nomefile
for i in *.[Mm][Pp][Gg]; do mv "$i" `echo $i | tr ' ' '_'`; done > /dev/null 2>&1 &

# rimuove le maiuscole
for i in *.[Mm][Pp][Gg]; do mv "$i" `echo $i | tr '[A-Z]' '[a-z]'`; done > /dev/null 2>&1 &

# converte mpg -> avi con mencoder

for i in *.[Mm][Pp][Gg]; do nice -n 10 mencoder $i -ovc lavc -lavcopts vcodec=mpeg4 -vf pp=md, -oac lavc -lavcopts abitrate=128 -o "`basename "$i"`.avi";echo "Conversione OK";done



# converte mpg -> flv con ffmpeg

for i in *.[Mm][Pp][Gg]; do nice -n 10 ffmpeg -i $i -y -sameq -ar 44100 -f flv "`basename "$i"`.flv";echo "Conversione OK";done

exit;
#-----------------------------------------
Fatto. Funziona. Non è stato facile districarsi fra le decine e decine di opzioni, il cui significato di alcune mi è ancora oscuro e che a spiegarle per bene occorrerebbe scrivere un libro. Ma alla fine funziona. Resta il dubbio...ma quel sistema che non voglio nominare con installato un lettore di filmati che non so il nome,  avrà i codec anche per questi formati?? Boh. Sempre meglio che stampare fotogramma per fotogramma ore e ore di riprese a 30fps come mi era stato richiesto. Riprodurre su carta un filmato...ma è proprio una richiesta da utonti che non meritano di usare un PC e nemmeno di ricevere uno stipendio. E' come nominare un dirigente analfabeta.....ma da voi in "itaglia", questo ed altro, branco di ignoranti. Alla prossima. 

P.S. Cappuccetto rosso è con il lupo ed i sette nani da biancaneve. Ripeto: Cappuccetto rosso è con il lupo ed i sette nani da biancaneve.

Nessun commento: