How do I change the audio on a H.264 MP4 without re-rendering the file?
ffmpeg is a good choice for this task. You can do this with this command:

ffmpeg -i input.mp4 -i input_audio.aac -map 0:0 -map 1 -vcodec copy -acodec copy output.mp4