Argomenti novità

Convertire i video

Tags/parole chiave: canon a560videoffmpeglameconvertire formati videoyoutube

Video di breve durata

la piccola canon a560

Tutte le fotocamere digitali oggi in commercio sono in grado di fare video di breve durata con memorizzazione del clip sulla schedina di memoria. Molte (o, forse, tutte) limitano la durata massima del clip a pochi minuti, dopo i quali è necessario tornare a registrare; non è un vero e proprio limite, anche perché, è risaputo, è meglio fare riprese brevi da montare successivamente.

Anche la qualità è abbastanza buona: spesso si tratta di riprese a 640x480 pixel che vanno bel al di là della risoluzione di un comune monitor televisivo (ovviamente, non ci riferiamo a quelli recenti ad alta definizione) e, quindi, sufficienti ad assumere un buon carattere documentario e, anche, ad essere pubblicate su Internet (ad esempio, sul ben noto servizio YouTube)

Il vero problema resta, però, il formato con cui queste fotocamere registrano gli spezzoni; alcune salvano direttamente in MP4 (il DivX), altre in un generico formato AVI che, a causa della sua caratteristica di contenitore multimediale, non viene letto agevolmente da tutti i player software e, men che meno, dai comuni lettori DVD che si possono acquistare a meno di trenta euro al supermercato.

La soluzione: convertire!

La soluzione è convertire i video ottenuti in un formato che sia universalmente accettato e con perdita minimale di qualità; dopo aver fatto alcune verifiche, il formato video che ci sembra garantire qualità e compatibilità quasi universale è il formato VCD (o Video CD), una valida alternativa al DVD Video per le riprese di bassa qualità (proprio come quelle che otteniamo dalla nostra piccola fotocamera!).

Ma non lasciamoci ingannare dai termini bassa qualità: per chi ricorda il VHS, le cassette e i vari metodi di importare questi filmati, la qualità delle nostre riprese con la fotocamera digitale è ben maggiore e la fatica per convertire i formati estremamente esigua!

Convertire i video con Linux: ffmpeg

In Linux esistono tutti gli strumenti per passare da un formato all'altro, sia audio che video; il programma giusto per convertire i video della nostra fotocamera è ffmpeg, un programma a riga di comando che permette di fare moltissimo. E' veloce ed estremamente ottimizzato, in grado di girare in modo degno anche su un vetusto pentium 3 a 600 Mhz. Il fatto di essere a riga di comando ne garantisce la semplicità d'uso: basta scrivere la riga ogni volta che se ne ha bisogno, cambiando opportunamente i file di ingresso ed uscita. Niente click e movimenti del mouse da ricordare!

I video con la Canon A560

Recentemente, abbiamo acquistato una economica Canon A560; una fotocamera digitale con caratteristiche di punta e scatta che non nega qualche funzionalità avanzata al fotoamatore evoluto. Quello che ci ha impressionato di più è la buona sensibilità del sensore, in grado di fare foto e video anche in scarse condizioni di illuminazione e lo zoom funzionante anche durante le riprese video. In fase di ripresa è possibile impostare la risoluzione (640x480 o 320x240) ed il numero di frames al secondo (30 o 15).

Il problema principale, però, è stato il formato di acquisizione video: viene salvato un AVI con all'interno due flussi: uno per il video, in formato MJPEG (ottimo per eseguire montaggi e rielaborazioni) ed uno per l'audio, in formato PCM a 8bit e 11025 Hz di campionamento. Il risultato è che, procedendo ad una normale conversione, l'audio non viene convertito ed il filmato resta muto:

ffmpeg -i MVI_0051.AVI -ab 56 -ar 22050 -r 25 -s 352x288 -sameq test.mpg

In questa riga, il parametro -i indica il file di input, -ab l'audio biterate, -ar la frequenza di campionamento dell'audio, -s le dimensioni (in pixel) del video finale, -sameq imposta la stessa qualità del video di ingresso e test.mpg è il file finale, senza audio.

La soluzione: dividere il problema

Come sempre, la soluzione è nello scomporre l'ostacolo incontrato. Prima di tutto, abbiamo verificato che sia il formato audio (pcm_u8) che quello video (mjpeg) fossero supportati (con il comando ffmpeg -formats); successivamente, siamo passati ad estrarre l'audio dal clip registrato dalla videocamera:

ffmpeg -i MVI_0051.AVI -acodec pcm_u8 audio8bit.wav

In questo modo, dato il file di input e forzando il codec audio (-acodec) abbiamo salvato un file .WAV. Tuttavia questo non è sufficiente: il formato VCD accetta solo file audio che abbiano un campionamento a 22050 Hertz, mentre quello di cui disponiamo è a 11025 Hertz. Ricorriamo, quindi, ad una ulteriore conversione, questa volta sul flusso audio, per portarlo alla frequenza giusta. Il programma che utilizzeremo è lame, il coltellino svizzero dell'audio in Linux:

lame -V2 --resample 22.05 audio.8bit.wav audio.mp3

La chiave è il comando --resample, che ricampiona il file in ingresso per ottenere un bellissimo audio in formato MP3 secondo le specifiche richieste da VCD!

A questo punto abbiamo un file video (quello della fotocamera) ed un file audio, estratto dal video e ricampionato, che dobbiamo unire in un unico file in formato VCD con estensione MPG. Ecco la riga di comando:

ffmpeg -i MVI_0051.AVI -i audio.mp3 -r 24 -b 1200 -sameq -f vcd video_finale.mpg

Nel rigo è facile notare i due file di input (preceduti dal parametro -i), il ricampionamento a 24 frames al secondo (-r 24; rammentiamo che il video originario può essere a 30 o a 15), il parametro -f che forza il formato finale in VCD ed il nome del file finale, con suffisso MPG. In questo modo il video ottenuto è conforme allo standard e visibile su qualsiasi lettore DVD in grado di leggere un CD rimasterizzato. Inoltre, il file ottenuto è molto più compatto dell'originale: poco più di un terzo delle dimensioni del video catturato dalla fotocamera, a parità di qualità video ed audio.

Mettiamo tutto insieme: convideo.sh

Ricordare i tre passaggi richiede buona memoria. Per facilitarci il compito, quindi, mettiamo tutto insieme in un unico file eseguibile, convideo.sh. Si tratta di un semplice file di testo, uno shell script, che può essere scaricato e salvato sul proprio PC ed eseguito all'occorrenza. Non esegue test sulla presenza o meno dei programmi necessari (lame ed ffmpeg), ma controlla solo che il file da convertire sia presente.

Programmi usati e versioni

Test e conversioni sono stati eseguiti su una piattaforma Linux Slackware 11, dotata di Pentium III a 600 Mhz. Tutti i software necessari sono stati scaricati da LinuxPackages.net per la versione di Slackware utilizzata (ffmpeg versione SVN-r8757, lame versione 3.97).


Documento scritto e/o curato da Franco
Data pubblicazione: 13/04/2008 (12:30)
Ultimo aggiornamento: 23/02/2009 (18:58)


Condividi questo documento su Facebook...

 

I commenti a questo post

Lascia un commento o leggi quelli scritti dagli altri .

Linux
Il menu del Post:
usate firefox: il migliore
I pi¨ letti! novità
ContattaciPreferitiHome page RSS
Japigia di P.B. Arcano, Casarano (Lecce)
Realizzazione siti Internet, Portali, Grafica computerizzata.
E' vietato il plagio, anche parziale, dei contenuti del sito.
Per informazioni e suggerimenti: Contattateci!
Copyright by Japigia.com 2000/2012
Partita IVA 03471380752 - REA CCIAA Le/224124
*** Questo Sito Web NON utilizza Cookie ***