Out of sync subtitles track are always annoying and frustrating. VLC player offers an easy solution to this problem. You can use inbuilt Subtitle Sync feature in VLC if your video and the subtitle track have a similar frame rate.
Most of the out of sync subtitles are either delayed by a few seconds or appear quicker than the audio track. To correct this you can do the following. Go to Tools > Effects and Filters or press the shortcut Ctrl+E.
This would open Adjustments and Effects Window. There, Click On Synchronisation Tab.
Under the Subtitle/Video section you can click on up arrow to delay the subtitles. This would delay the subtitles if they appear before the audio. Clicking the up arrow increments the delay value by 100 milliseconds which is one tenth of a second. So if your subtitles appear a second earlier than the audio then you can increase the delay to 1000 milliseconds ( 1 second = 1000 milliseconds).
Similarly, if your subtitles appear after you hear the audio then you can click the down arrow which would set the value in minus milliseconds. A value of -1000 milliseconds would hastened the subtitle by 1 second.
The other way to do this is with the Keyboard Shortcuts. You can press H if your subtitles appear before the audio. Pressing H would delay the subtitles by 50 milliseconds. Press it repeatedly until your subs are in sync.
Similarly, You can Press G to hasten the subtitles if they appear after the audio.
You can also sync subtitles by Detect and Hear if the subtitles appear late.
Press Shift + H when you hear the audio or dialogue.
Press Shift + J when you read the same sentence in the subtitle.
Press Shift + K to correct the sync.
You have to sync the subtitles every time you play the out of sync video. So, don’t close VLC after you have synced the subtitles else you’ll have to do it all over again.