In questo post cercherò di spiegare la mia lunga strada per pubblicare una presentazione (slideshow) su YouTube, lavorando con programmi gratuiti (software free, closed e/o open source) in ambiente GNU/Linux (personalmente, uso Kubuntu 7.10 Gutsy Gibbon).
L’idea di base per realizzare questo progetto consiste nel seguire i seguenti passi:
- installare tutto l’occorrente ;oP
- creare una lista di immagini,
- creare il video,
- caricare il video su YouTube.
Pronti?
1. Preparazione.
Cominciamo installando un po’ di programmi, alcuni utili in sé, altri per soddisfare le dipendenze di dvd-slideshow, il programma che più ci servirà:
sudo apt-get install mjpegtools sox imagemagick ffmpeg dvdauthor
… conosciamoli almeno un po’:
- I tools Mjpeg (http://mjpeg.sourceforge.net/) sono un set di strumenti per Linux che permettono registrazione, modifiche semplici (editing copia-incolla), compressione e riproduzione di video MPEG. Permettono anche la produzione di forme speciali di flussi MPEG come VCD (Video CD) e SVCD. Una caratteristica importante degli mjpegtools è l’interoperabilità con altri tools video.
- SoX (http://sox.sourceforge.net/) si autodefinisce il coltellino svizzero dei programmi di editing audio: è una potente utility da riga di comando che può convertire da e a diversi formati di file audio, con la possibilità di applicarvi alcuni effetti.
- ImageMagick (http://www.imagemagick.org/) è una suite di programmi per creare, modificare e comporre immagini bitmap che supporta oltre 100 formati (GIP, JPG, PDF, PNG, TIFF, Postscript, SVG, DPX,…): con ImageMagick è possibile ruotare, ribaltare, spostare, scalare, trasformare immagini, variarne i colori ed applicarvi vari filtri. È possibile scaricare il programma già compilato per i principali sistemi operativi (sistemi Unix-like, Mac OS X, Microsoft Windows)
- Dvdauthor (http://dvdauthor.sourceforge.net/), infine, è un set di strumenti per l’authoring di DVD: per ora può solo scrivere su DVD un flusso MPEG, ma il suo scopo per il futuro è di permettere la creazione di menu, bottoni, capitoli, etc…
- FFmpeg (http://ffmpeg.mplayerhq.hu/) è una collezione software utile per registrare, convertire e riprodurre flussi audio e video in vari formati. Include libavcodec, una libreria per la codifica audio/video utilizzata anche da diversi altri programmi, e libavformat, una libreria con strumenti di mux/demux per i formati audio/video. FFmpeg è sviluppato su Linux, ma può essere compilato ed eseguito sui principali sistemi operativi.
Installiamo ora dvd-slideshow: è un programma in grado di generare una presentazione video con menu a partire da una lista di immagini e di tracce audio presenti in una cartella, con l’aggiunta di alcuni effetti (fade, crop, scroll, Ken Burns,…). La versione presente sui repository Ubuntu - non so perché - da errore durante la conversione della traccia audio del filmato che stiamo creando: scarichiamo ed installiamo dunque il programma direttamente dal sito SourceForge: http://dvd-slideshow.sourceforge.net .
Scarichiamo dunque il pacchetto DEB (ma sono disponibili anche il pacchetto RPM ed i sorgenti TAR.GZ): potremo installarlo semplicemente cliccandoci sopra o, da riga di comando, con:
sudo dpkg -i pacchetto_file.deb
2. Creazione della lista delle immagini.
Dunque, quando è tutto installato, ci si può muovere alla cartella contenente le immagini: per semplicità opereremo solo lì, così non ci si perde… ;oP
Nell’esempio, creeremo una slideshow di 5 immagini:

Qui, diamo il comando:
dir2slideshow -n ‘Nome_del_File’ -t 7 -c 1 -notitle ./
La sintassi è:
dir2slideshow [-o <output_directory>] [-t time_per_picture] [-c duration] -n slideshow_name [-T] [-M] [-s subtitle_text] [-notitle] <directory>
[-o output_directory]
Indirizzo della directory di output. Se omesso, è impiegata la directory corrente.
[-t time_per_picture]
Numero intero di secondi di durata della visualizzazione della singola immagine. Di default, è impostato a 5 secondi.
[-c duration]
Crea un crossfade fra ogni immagine della durata (in secondi) che qui impostiamo.
[-b background.jpg]
Usa l’immagine background.jpg come sfondo per la presentazione. Di default lo sfondo è nero.
-n slideshow_name
Il nome della slideshow, che sarà impiegato nella prima slide (del titolo) e per assegnare il nome al file di output.
[-notitle]
Non crea la slide del titolo.
<directory>
La cartella dove si trovano le immagini di input.
Il file di output sarà questo, per esempio:
background:0::black
fadein:1
./0001.jpg:7
crossfade:1
./0002.jpg:7
crossfade:1
./0004.jpg:7
crossfade:1
./0005.jpg:7
crossfade:1
./0008.jpg:7
fadeout:1
background:1
Ovviamente, è possibile editare il file per cambiare le singole durate, cambiare l’ordine delle immagini.
3a. Creazione del file video.
Ora, facciamo creare il file video vero e proprio (un file VOB) a dvd-slideshow (che contestualmente creerà anche un file XML):
dvd-slideshow -n ‘Nome_della_Slideshow’ -o ./Cartella_di_Output/ -a ./File_Musicale.ogg -mp2 -p -f ./Nome_del_File.txt
Qui la guida del programma fornita con l’opzione -help è particolarmente ricca: sfruttatela!
Comunque, la sintassi e le opzioni principali sono:
dvd-slideshow [-n <slideshow_name>] [-o <output_directory>] [-b <background_jpeg>]
[-a <audio_file1> -a <audio_file2> … -a <audio_fileN>]
[-p] [-L | -H] [-mp2] [-r] [-smp] -f input_file.txt
[-n slideshow_name]
Nome del file della presentazione.
[-o <outupt directory>]
Nome della cartella di destinazione dei file .vob e .xml di dvdauthor. Di default, è utilizzata la directory corrente.
[-a <audio file>]
File audio (uno o più susseguenti) in esecuzione come sottofondo alla presentazione. Il flusso audio sarà eventualmente sfumato alla fine del video. È possibile passare file Mp3, Ogg o Wav.
[-mp2]
Usa la compressione audio MP2 invece del default, che è AC3. AC3 sembra essere compatibile con un numero maggiore di player DVD hardware standalone… ma - ehm…non so perché… - a me a problemi proprio in fase di codifica. Per i nostri scopi, va più che bene MP2.
[-p]
Restituisce un file di output PAL invece che in formato NTSC (che sarebbe l’opzione predefinita)..
[-L]
Crea un video a bassa qualità (metà della risoluzione, diminuita qualità delle transizioni): è un’opzione utile a scopo di debugging, per risparmiare un bel po’ di tempo.
[-r]
Ritaglia automaticamente (auto-crop) le immagini orizzontali affinchè possano riempire l’intera dimensione dello schermo.
-f input_file.txt
Il file di input, che può essere creato a mano, ma che nel nostro caso è quello generato da dir2slideshow.
Nella cartella di destinazione, ecco che ci ritroviamo con il nostro filozzo Nome_della_Slideshow.vob, che già potremo vedere così com’è. Soddisfatti?
3b. Conversione del file VOB ad AVI.
Bene, ora, visto che YouTube accetta solo video nei formati AVI, MOV, WMV e MPEG, dobbiamo convertire il file VOB in un file AVI, e lo facciamo con ffmpeg.
ffmpeg -i Nome_della_Slideshow.vob -f avi -vcodec mpeg4 -maxrate 1500 -b 700 -qmin 3 -qmax 5 -bufsize 4096 -g 300 -acodec mp3 -ab 192 out.avi
Anche in questo caso la guida alle opzioni fornita con il comando ffmpeg -help è particolarmente ricca (forse troppo, per novellini come me…)!
In ogni caso, queste le informazioni più importanti:
ffmpeg [[infile options] -i infile]… {[outfile options] outfile}…
-i filename
Nome del file di input
-f fmt
Si istruisce il programma ad utilizzare il formato prescelto per la codifica: AVI, nel nostro caso.
-vcodec codec
forza il codec video (’copy’ per mantenere lo stesso del flusso originale)
-minrate e -maxrate <int>
Imposta il bitrate video minimo e massimo (in bits/s)
-b <int>
Imposta il bitrate (in bits/s)
-qmin e -qmax <int>
in modalità VBR, qualità minima e massima secondo una scala fra 0 (lossless) e 31 (la qualità peggiore)
4.Upload del video su YouTube.
In primis, è ovviamente necessario essere registrati su Youtube. La registrazione è semplice, cosicché in pochi passi e pochi secondi è già stata completata.
Bene, fatto ciò, andare nella sezione “Il mio account” e cliccare su “Carica nuovo video”:

Si apre ora una pagina in cui si devono inserire titolo, descrizione ed un po’ di tag, in modo da rendere riconoscibile e facilmente reperibile il proprio video:

Completato questo passo, cliccando su “Carica un video” si passerà ad una seconda pagina, che ci chiede di identificare il file del nostro hard disk che desideriamo pubblicare: nel nostro caso:

Selezionato il file, clicchiamo sul bottone di caricamento… ed il gioco è fatto! In pochi minuti il nostro video sarà presente su Youtube e visibile al pubblico o a chi vogliamo noi!
Il risultato di questo nostro esperimento è questo… tutto sommato non male, no? ^_^
(Le immagini utilizzate in questo filmato provengono da varie fonti web a me ora sconosciute. Mi dichiaro disponibile alla loro rimozione qualora il legittimo detentore dei diritti di riproduzione mi richiedesse tale azione. Il file audio impiegato è il movimento Allegro del Concerto Brandeburghese n° 4 in Sol maggiore (BWV 1049) di Johann Sebastian Bach, reperibile in Wikimedia Commons.)
Buon divertimento!
Commenti Recenti