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!!!» ; )












#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 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.