The frame rate is 23 fps in a Mp4 format.
Please post a screen shot from Media Info or some other program (even VLC's info panel) that shows the exact frame rate. 23 fps is not a standard that I am aware of. 23.976 fps is the standard for video that comes from 24fps film. If your video is really at 23 fps, it implies that something weird was done with that video. I suspect this is the case based on your next statement.
I even tried it in the VLC player with the same problem.
VLC is generally a very good baseline to use. If VLC does not play the audio correctly (in sync) then you likely have a problem with the source file. Try this with VLC:
1. Play the beginning of the video for a few seconds and make sure the audio is in sync.
2. Skip very far forward in the video (click on the timeline to jump forward a huge amount. Somewhere near the end of the video.). Now play for a few seconds and take note of the audio.
In #1 I expect it to be in sync. In #2, if the file is good, then it will also be in sync. If the file is bad, then #2 will be out of sync.
In the case of a file where the audio length does not match the video length, you will see this gradual shift in sync. It gradually gets worse and worse. There are 3 approaches to this:
1. Get a different file that is correct. One that has not been manipulated to break the audio and video lengths.
2. Stretch or contract the audio. This involves resampling the audio to make it's duration match the duration of the video. You will experience a slight shift in pitch. It's usually not noticeable, but can be in extreme cases.
3. Stretch or contract the video. Again this is to make the durations of the audio and video match.
#1 is the best solution. #2 and 3 can be used, but require some fiddling.
Brian.