I just played around with Windows Live Movie Maker, and it seems to do a satisfactory job.
Open program
Load an image
Load a song
Find the option that says "Match to audio" or something to automatically match the video duration to the audio
Save movie as <>
In the saving options you can choose their presets (the HD video preset defaults to 1080p), or you can make your own custom one. You can choose to increase the audio track to 400kbps if you want.
The output is fixed to wmv, which is compatible with youtube. According to this site, youtube will only play back 128kbps aac regardless of video quality, so there's that as your quality cap. The audio files that Windows Movie Maker accepts is a bit limited, but there's always wav, so you can give it a lossless source if you're worried about transcoding too many times. It'll still have to happen twice by the time youtube's done with it.
Here's the test video I did.
Source image |Source audio | output video (before youtube conversion)
edit: actually, listening to all of that now, the final youtube conversion worsened the background noise the most.![]()