Archivio
Script Nautilus per conversione audio / video
Diverse volte mi sono trovato nella necessità di convertire rapidamente dei file video (es. file FLV) in formati adatti a lettori multimediali, quindi i classici MP3 per l’audio e AVI-Xvid per il video. Ho cercato e provato diversi programmi grafici per fare questo in Ubuntu (vedi miei post su WinFF), ma non mi hanno mai convinto del tutto.
Visto che le mie esigenze erano molto semplici, ho pensato quindi di farmi due script Nautilus da richiamare rapidamente dal gestore file, con il tasto destro:
In questi script ho utilizzato avconv per la conversione (il sostituto di ffmpeg in Ubuntu), ma se si usa ancora FFmpeg dovrebbe bastare sostituirne il comando “avconv” con “ffmpeg”.
Per avere un riscontro dell’esecuzione della conversione, che altrimenti avverrebbe in una shell senza alcun output, ho utilizzato Zenity, che si può installare con il comando seguente:
sudo apt-get install zenity
Questo lo script per la conversione in MP3, per cui non è necessario passare alcun particolare parametro ad avconv (il formato viene stabilito dall’estensione del file di output):
#!/bin/bash NUMBER_OF_FILES=$# PROGRESS=0 let "INCREMENT=100/$NUMBER_OF_FILES" (for arg do echo "$PROGRESS"; echo "# Conversione in corso: $arg"; avconv -y -i "$arg" "${arg%.*}.mp3" let "PROGRESS+=$INCREMENT" done ) | zenity --progress --title="Conversione in MP3" --percentage=0 --auto-kill --auto-close
Questo lo script per la conversione video in AVI con codifica Xvid, per cui invece è necessario specificare il codec video MPEG4 (-vcodec mpeg4) e la codifica Xvid (-vtag xvid):
#!/bin/bash NUMBER_OF_FILES=$# PROGRESS=0 let "INCREMENT=100/$NUMBER_OF_FILES" (for arg do echo "$PROGRESS"; echo "# Conversione in corso: $arg"; avconv -y -i "$arg" -acodec libmp3lame -vcodec mpeg4 -vtag xvid "${arg%.*}.avi" let "PROGRESS+=$INCREMENT" done ) | zenity --progress --title="Conversione in AVI-Xvid" --percentage=0 --auto-kill --auto-close
Gli script vanno inseriti in due file distinti nella cartelle seguenti (raggiungibile anche dal gestore file con tasto destro > Script > apri cartella degli script, che compare però quando c’è già almeno uno script):
Nautilus 3.4 o precedente: ~/.gnome2/nautilus-scripts
Nautilus 3.6 o successsivo: ~/.local/share/nautilus/scripts
Il nome dato al file sarà il nome della voce di menu, non è quindi necessaria l’estensione .sh.
Modifica 19 agosto 2014 – Mi è capitato di dover convertire dei video registrati con la TV (di marca Haier), che avconv non è in grado di leggere. Ho quindi creato una nuova versione dello script di conversione in AVI utilizzando Mencoder, che riporto di seguito. L’unica differenza è la sostituzione del comando avconv con mencoder. Non mi è risultato necessario specificare esplicitamente la codifica XVID, in quanto il default per l’output AVI.
#!/bin/bash NUMBER_OF_FILES=$# PROGRESS=0 let "INCREMENT=100/$NUMBER_OF_FILES" (for arg do echo "$PROGRESS"; echo "# Conversione in corso: $arg"; mencoder "$arg" -o "${arg%.*}.avi" -oac mp3lame -ovc lavc let "PROGRESS+=$INCREMENT" done ) | zenity --progress --title="Conversione in AVI-Xvid" --percentage=0 --auto-kill --auto-close
Devi effettuare l'accesso per postare un commento.