Remapping the Video Stream to match the Audio Stream: Introduction
Many years ago, I made a rendered architectural fly-through animation (part of an university group project) where we used Adobe Premiere and Adobe After Effects, to edit and manipulate rendered clips that we made in 3DS Max to fit to the beats and changes of some German trance music. It worked out very well. Another group used Sony Vegas to do something similar.
These programs are expensive, but they are industry standard tools and skills in using them are highly valued by employers in relevant fields. There are trial versions which will give you enough time to do what you want to do.
It would be much better to slow down and speed up parts of the video to fit the music, rather than the other way around, as changing the tempo of the music will sound totally wrong, where as it will be unnoticeable visually, as long as it is only a slight variation.
Remapping the Video Stream to match the Audio Stream: Procedure
There are loads of tutorials on the internet. Here are a couple which I found from a quick search:
Time remapping in Adobe After Effects (this is for an old version of After Effects, but I doubt that the technique would have changed much since, although there may be new tools now which makes the process easier)
Time syncing video to music in Sony Vegas (YouTube Video)