Come estrarre l'audio da un video in formato Flash Video e salvarlo in un file audio FLAC


Queste note sono state scritte dopo che mi sono deciso a trasformare alcuni filmati dal formato Flash Video, che in realtà contenevano un'immagine fissa e una colonna sonora che era quella che veramente m'interessava, in un file audio FLAC.  Ho visto quindi cosa c'era disponibile in GNU/Linux per poter effettuare queste operazioni sulla riga di comando, in modo da poter facilmente includere le operazioni necessarie in uno script di shell che mi permettesse in futuro di automatizzarle su un qualunque numero di file.

Per estrarre la colonna sonora il comando ffmpeg è particolarmente comodo e facile:

[alessandro@stn03 Elettronica]$ ffmpeg -i chreyan.{flv,wav}

  In caso si ottenga l'errore Unknown encoder allora si deve installare un pacchetto con delle librerie aggiuntive per decodificare un certo codec audio con cui è stato prodotto il file originale che ffmpeg non conosce.  È frequente infatti il caso che la distribuzione in uso escluda nel pacchetto ffmpeg alcuni codec non liberi.  Nel caso di Ubuntu 11.10 questo pacchetto è libavcodec-extra-53, che, installato, si sostituisce a quello già presente libavcodec53.

  Ora si crea il file FLAC in cui ricodificheremo l'audio sfruttando il massimo della compressione possibile, certi che la qualità del file risultante non ne risentirà: il FLAC è infatti un Free Lossless Audio Codec, ossia un algoritmo di codifica audio senza perdita.  Il formato FLAC permette di includere una o più immagini; nel caso in cui il filmato originale consistesse in un'immagine fissa, si potrebbe voler includere questa stessa immagine nel file FLAC finale.  Per ottenere un'istantanea dell'immagine è comodo usare il comando mplayer con l'opzione -vf screenshot (-vf = video filter, screenshot = cattura schermo).  Con questa opzione mplayer permette di salvare in un file, di default di nome shot0001.png, un'istantanea del fotogramma mostrato sullo schermo al momento della pressione del tasto "s".  All'atto della pressione del tasto "s" questo è quello che si legge sul terminale (sono riportate solo alcune righe rilevanti):

VO: [xv] 320x240 => 320x240 Planar YV12
A:   2.3 V:   2.3 A-V:  0.005 ct:  0.024   0/  0  8%  7%  4.3% 6 0
sending VFCTRL_SCREENSHOT!
*** screenshot 'shot0001.png' ***
A:   3.3 V:   3.3 A-V:  0.004 ct:  0.024   0/  0  7%  7%  4.1% 6 0

  Adesso si crea il file FLAC completo di immagine e di alcuni dati di informazione opzionali:

[alessandro@stn03 Elettronica]$ flac --tag=TRACKNUMBER=1 --tag=TITLE=Stateless --tag=ARTIST=Chreyan --tag=ALBUM='Deep Black' --tag=GENRE=Electronic --tag=DATE=2005 --picture='3||||shot0001.png' --compression-level-8 chreyan.wav

   Una guida per la scelta dei nomi appropriati delle etichette che seguono i parametri --tag è disponibile nel documento: http://www.xiph.org/vorbis/doc/v-comment.html.  Qui si spiega che la lista di nomi che segue è una proposta di una lista minima di nomi di campi standard, con una descrizione dell'uso di ciascuna voce.  Nessun campo o gruppo di campi è obbligatorio.

  L'opzione per includere immagini è --picture={NOMEFILE|SPECIFICA}.   Si può cioè o indicare solo il nome del file che contiene l'immagine, oppure si può fornire una specifica più dettagliata dell'immagine.  Il formato del campo SPECIFICA è: [TIPO]|[TIPO-MIME]|[DESCRIZIONE]|[LARGHEZZAxALTEZZAxPROFONDITÀ[/COLORI]]|FILE

  Tutti i campi della specifica sono opzionali tranne l'ultimo, il nome del file.
  I valori possibili per TIPO sono:

    0: altro
    1: file icona di 32x32 pixel (solo per il formato PNG)
    2: altro file icona
    3: copertina (fronte)
    4: copertina (retro)
    5: libretto
    6: confezione (ad es. il lato della confezione del CD)
    7: artista/interprete principale/solista
    8: artista/esecutore
    9: direttore
    10: gruppo/orchestra
    11: compositore
    12: autore del libretto/dei testi
    13: luogo di registrazione
    14: nel corso della registrazione
    15: nel corso dell'esecuzione
    16: fotogramma di filmato/video
    17: un pesce dai colori vivaci
    18: illustrazione
    19: logo del gruppo/artista
    20: logo del produttore/studio

  Se non specificato assume il valore 3 (fronte della copertina).

  Dimensioni finali di un file di esempio:

[alessandro@stn03 Elettronica]$ ll -oh
-rw-r--r-- 1 alessandro  28M 26 feb 22.16 c
hreyan.flac
-rw------- 1 alessandro 4,4M 26 feb 20.55 c
hreyan.flv
-rw-r--r-- 1 alessandro  66K 26 feb 23.30
shot0001.png
-rw-r--r-- 1 alessandro  48M 26 feb 22.16 chreyan.wav


< Torna alla pagina superiore <
<< Torna alla pagina iniziale <<

In linea dal: 25 febbraio 2012
Ultimo aggiornamento: 15 aprile 2012