VLC the popular free video player has built in options to solve this problem. Here is a quick video from lifehacker explaining how:
ProTip: Set the attack to around 50 ms and the release to around 300 ms. Much more fluid work on the dynamic range compression. (via Reddit.)