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!
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/$$.wavIn 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!
I have not quite made the windows - linux transition but Mplayer is magic!
ReplyDeleteThx for this nifty hack.
You're welcome!
ReplyDelete