Overloaded method VideoFileWriter::Open with bitRate parameter ignores it in a call to another version of this method. Instead of parameter value a hardcoded value of 400000 is passed (which is fine when bitRate parameter doesn't exist but not here).
Line 137:
Open(fileName, width, height, frameRate, codec, 400000, AudioCodec::None, 0, 0, 0);
should be chaged to:
Open(fileName, width, height, frameRate, codec, bitRate, AudioCodec::None, 0, 0, 0);