Extract audio from video in Linux with a GUI program?

Command line

If you're willing to forgo using a GUI you can use ffmpeg fairly easily to do this.

Sample file

If you go to QuickTime: Sample files, you can download this sample file, sample_mpeg4.mp4. After downloading it, unzip it.

$ ls -l | grep sample
-rw-rw-r-- 1 saml saml   235829 Nov  4  2005 sample_mpeg4.mp4.zip
-rw-r--r-- 1 saml saml   245779 Nov  3  2005 sample_mpeg4.mp4

Example

You can extract the AAC audio frpm the mP4 file.

$ ffmpeg -i sample_mpeg4.mp4 -vn -acodec copy sample_mpeg4.aac
FFmpeg version 0.6.3-rpmfusion, Copyright (c) 2000-2010 the FFmpeg developers
  built on May  5 2011 19:20:01 with gcc 4.5.1 20100924 (Red Hat 4.5.1-4)
...
...
Output #0, adts, to 'sample_mpeg4.aac':
  Metadata:
    encoder         : Lavf52.64.2
    Stream #0.0(eng): Audio: aac, 32000 Hz, stereo, 48 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
Press [q] to stop encoding
size=      31kB time=4.99 bitrate=  50.4kbits/s    
video:0kB audio:30kB global headers:0kB muxing overhead 3.594943%

The resulting AAC file.

$ ls -l |grep sample
-rw-rw-r-- 1 saml saml    31468 Oct  4 22:09 sample_mpeg4.aac
-rw-r--r-- 1 saml saml   245779 Nov  3  2005 sample_mpeg4.mp4
-rw-rw-r-- 1 saml saml   235829 Nov  4  2005 sample_mpeg4.mp4.zip

You can also use ffmpeg to confirm the file format:

$ ffmpeg -i sample_mpeg4.aac 
...
...
Input #0, aac, from 'sample_mpeg4.aac':
  Duration: 00:00:05.59, bitrate: 45 kb/s
    Stream #0.0: Audio: aac, 32000 Hz, stereo, s16, 45 kb/s
At least one output file must be specified

GUI

You can use VLC and it's Convert/Stream feature to do this. After launching VLC.

Example

Select Convert/Save from File pulldown

           ss #1

Select video file, and convert stream

           ss #2

Start the conversion

           ss #3


Better than trying to add context menu commands to the minimalist Pantheon-Files of Elementary OS or to use other media applications to extract sound from video, I guess the most simple is just to install Nautilus (it is not at all problematic in eOS, contrary to Thunar, which comes with the whole Xfce environment).

sudo apt-get install nautilus

Then install Nautilus-Actions Configuration Tool and open it..

I will provide an example for extracting audio (aac in m4a container) from flv and mp4 video files.

Define a new action, give it a name, maybe an icon too. Check - 'Display action in selection context menu'.

enter image description here

Under the command tab, add the command

bash -c 'ffmpeg -i "$0" -map 0:1 -c:a copy "${0%%.*}".m4a' %f.

enter image description here

Under Execution tab there are options to select depending on what you want to see during and after the action (open terminal, report).

Under Mimetypes tab, enter the filters for the type of files in the context menu of which you want to see the command - in this case: video/mp4 and video/flv.

enter image description here

There are other options, but these look sufficient for the purpose of my question.

enter image description here

Similar actions can be added to extract sound from other types of video and, of course, for other very different purposes.

(This solution is based on suggestions and solutions present in the links already posted in the question and the credit goes to the authors.)


Can be used in Thunar custom actions too.

My initial source is this.

Tags:

Audio

Gui