[FFmpeg] Estrazione della traccia audio da una sorgente video


FFmpeg rappresenta una delle soluzioni più complete per la registrazione, la conversione e la riproduzione di files multimediali.
In passato, anche se in maniera frammentata, ci siamo occupati di affrontare alcune delle possibili conversioni sfruttando in qualche modo le potenzialità offerte dal tool.
La saga continua e in questo specifico articolo ci occuperemo di far fronte ad una particolare procedura che permetterà l’estrazione della traccia audio da un qualsiasi video.

Che il file sorgente si presenti in formato AVI, MPG, o FLV poco importa, ffmpeg porterà a termine il suo lavoro senza particolari impedimenti.

Il primo requisito è rappresentato dalla presenza dell’utility di conversione nel sistema in uso: per quanto riguarda openSUSE, ffmpeg è contenuto nel repository Packman e la sua installazione per mezzo di zypper, richiede il seguente comando:

sudo zypper in ffmpeg

Successivamente, ammesso che il video dal quale si desidera estrarre la traccia audio sia già stato identificato e in nostro possesso, è possibile dare il via alla vera e propria procedura di estrazione che darà origine ad un file audio in formato Mp3.

Da console impartire il seguente comando:

ffmpeg -i Video_Input.flv -ab 160k -ac 2 -ar 44100 -vn Audio_Output.mp3

Output:

FFmpeg version SVN-r22648, Copyright (c) 2000-2010 the FFmpeg developers
  built on Mar 23 2010 21:44:24 with gcc 4.4.1 [gcc-4_4-branch revision 150839]
  configuration: --shlibdir=/usr/lib --prefix=/usr --mandir=/usr/share/man --libdir=/usr/lib --enable-shared --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libspeex --enable-libfaad --enable-libfaac --enable-nonfree --enable-libxvid --enable-postproc --enable-gpl --enable-x11grab --enable-libschroedinger --enable-libdirac --enable-libgsm --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libdc1394 --enable-pthreads
  libavutil     50.12. 0 / 50.12. 0
  libavcodec    52.59. 0 / 52.59. 0
  libavformat   52.57. 1 / 52.57. 1
  libavdevice   52. 2. 0 / 52. 2. 0
  libswscale     0.10. 0 /  0.10. 0
  libpostproc   51. 2. 0 / 51. 2. 0
[flv @ 0x808bb70]Estimating duration from bitrate, this may be inaccurate
 
Seems stream 0 codec frame rate differs from container frame rate: 1000.00 (1000/1) -> 29.92 (359/12)
Input #0, flv, from 'Video_Input.flv':
  Metadata:
    duration        : 331
    starttime       : 0
    totalduration   : 331
    width           : 320
    height          : 240
    videodatarate   : 230
    audiodatarate   : 33
    totaldatarate   : 272
    framerate       : 30
    bytelength      : 11228376
    canseekontime   : true
    sourcedata      : B4A7D0303HH1271696323182818
    purl            :
    pmsg            :
  Duration: 00:05:30.53, start: 0.000000, bitrate: 244 kb/s
    Stream #0.0: Video: flv, yuv420p, 320x240, 236 kb/s, 29.92 tbr, 1k tbn, 1k tbc
    Stream #0.1: Audio: mp3, 22050 Hz, 2 channels, s16, 8 kb/s
Output #0, mp3, to 'Audio_Output.mp3':
  Metadata:
    TSSE            : Lavf52.57.1
    Stream #0.0: Audio: libmp3lame, 44100 Hz, 2 channels, s16, 160 kb/s
Stream mapping:
  Stream #0.1 -> #0.0
Press [q] to stop encoding
size=    6457kB time=330.61 bitrate= 160.0kbits/s    
video:0kB audio:6457kB global headers:0kB muxing overhead 0.000499%

Esaminiamo il comando precedentemente impartito:

ffmpeg -i Video_Input.flv -ab 160k -ac 2 -ar 44100 -vn  Audio_Output.mp3
  • -i input indica la fonte o la sorgente da trattare;
  • -ab audio bitrate settato di default sul valore 64;
  • -vn esclude il video in uscita;
  • -ac numero canali, settato su 2;
  • -ar sample rate settato di default sul valore 44100;

«GoOd wOrK!!!»  ; )

Articoli correlati:

, , , , , , ,

Segnala questo articolo: Queste icone linkano i siti di social bookmarking sui quali i lettori possono condividere e trovare nuove pagine web.
  • Facebook
  • del.icio.us
  • Digg
  • Reddit
  • StumbleUpon
  • Technorati
  • OKnotizie
  • Google Bookmarks
  • TwitThis
  • Upnews
  • Segnalo

  1. #1 by Kouta84 on 20 aprile 2010

    c'è anche avidemux che fa un sacco di cose, peccato che la versione gtk sia stata quasi abbandonata, tutte le novità orami sono relegate alla versione qt…

  2. #2 by Crismon on 20 aprile 2010

    Si hai pienamente ragione. io personalmente mi trovo benissimo con ffmpeg… con un po di pratica e di memoria si rivolvono praticamente tutti i problemi di conversione e non solo.

I commenti sono chiusi.

blog comments powered by Disqus