Wow, I haven't been here in a while.
Anyhow, since I'm playing quite alot with mobile phones, I needed a way
to convert my podcasts to a less space consuming format. And since all
of them support HE-AAC, I wrote a small wrapper script that can convert
almost any format accepted by mplayer to m4a (aac audio in am mp4
container). Grab it below!
#!/bin/sh
mplayer -quiet -vo null -vc null -ao pcm:waveheader:file="/tmp/$$.wav" -af resample=48000:0:1 "$1"
normalize-audio --peak "/tmp/$$.wav"
aacplusenc "/tmp/$$.wav" /tmp/$$.aac "$3"
MP4Box -new -no-sys -sbrx -add /tmp/$$.aac "$2"
rm -f /tmp/$$.aac /tmp/$$.wav``
In Ubuntu you will need to get the following packages:
- mplayer (of course)
- aacplusenc from medibuntu
- normalize-audio
- gpac (for MP4Box)
Also, as you can see, I had mplayer convert the audio to a 48kHz
sampling rate - that's because aacplusenc would convert the audio to
that sampling rate anyways, and I trust mplayer's conversions to be more
accurate.
I could probably use pipes between the programs so less temporary data
is written to disk, but it works pretty fast this way and I'm pretty
lazy...
Let's get to usage: just copy the stuff above to a file, let's say
tomp4.sh, then open a terminal and do a chmod +x ./tomp4.sh. To use
it simply call it from a terminal like this: ./tomp4.sh infile.mp3
outfile.m4a bitrate. I mostly use a bitrate of 24 kbps for podcasts and
48kbps for music.
Enjoy!