I tried with vlc years ago and wasn't impressed with results. Maybe it has gotten better. But I had thought, wouldn't a process be needed that would prescan the entire file to determine the highs and lows of the audio?
You're almost never interested in whether the audio you're listening to is absolutely the loudest or softest across the entire file, you typically just want to minimize sudden changes that leave you straining to hear something unexpectedly quiet or bracing against something unexpectedly loud. This compressor works in two directions - downward compression on loud parts, and upward compression on soft parts, bringing them both closer to the median loudness - but preserving some smaller level of dynamic range, so things still sound "good".