Most MP4 videos use AAC audio, and most player devices can play AAC audio, normally in an M4A (differently-named MP4) container. Re-encoding to MP3, especially with a low bitrate input (most internet video), can lead to noticeable loss, even on low-end headphones. I would recommend using avconv
/ffmpeg
on the command-line
avconv -i input.mp4 -vn -c:a copy output.m4a
or
ffmpeg -i input.mp4 -vn -c:a copy output.m4a
To convert every MP4 in a directory:
for f in *.mp4; do avconv -i "$f" -vn -c:a copy "${f/mp4/m4a}"; done
Some players (like my cheapy cheapo mobile phone) can play AAC audio, but not in an M4A container, and for that you have to use
avconv -i input.mp4 -vn -c:a copy output.aac
Now, some older devices genuinely can't play anything but MP3, and for those you can either use grawity's solution, or
avconv -i input.mp4 -vn -c:a libmp3lame -q:a 2 output.mp3
This will create a variable bit rate (VBR) MP3 which, apart from specialised needs like streaming, should be preferred. -q:a 2
will get you an average (over a number of files) bit rate of around 190 kbit/s; for more information on encoding VBR MP3s, see here.
Are you certain of the file specs you've listed here? Often the bubbly sound indicates that you're resampling the audio. – JDB – 2010-10-19T20:04:30.430