

No GUIs, lightning fast, this is just one of those things that the command line does better. Now, I simply invoke rip_m4a_from_mp4 somevideofile.mp4 and I am left with an audio only version with the same filename, ending in m4a instead. Since I always intend to rip aac audio data out of an mp4 container/video, I wrote a quick little script to do it. I can't believe something like this was so difficult and hidden for so long. Coupled with disabling video via -vn leaves you with a lone audio track inside an mp4 container. That still begets the question of why Handbrake is using both file extensions, seemingly arbitrarily. Nothing different about the files, just the extension. ffmpeg will write the audio data out as various supported codecs, but specifying copy leads a bit-for-bit exact copy of the stream. It's an Apple convention, all of their software requires the m4v extension instead of mp4 to allow certain features (e.g. acodec copy: Copy the audio source as-is, here's where all the magic is. vn: Do not record (do not consider) video data. So, after installing ffmpeg, and having the ffmpeg accessible at the command line, I ran a command like this: ffmpeg -i videofile.mp4 -vn -acodec copy audiotrack.m4a Between Rudix, Homebrew, MacPorts, and Fink (does anyone even use fink anymore?), third party software is a snap to install.

I absolutely wanted an as-is version of the audio extracted from the video.įirst off, it's pretty easy to install things like ffmpeg, mplayer, things built off them, and similar open source packages nowadays. I will expand on the question a bit and spell out the fact that I was already working with mp4 contained video/audio, so MP4 Video (.m4v) and AAC Audio (.m4a).

I finally found the exact combination I needed, and I found it in ffmpeg.
