Note: This tutorial is for a Mac.
VLC is one of the best and almost certainly the most versatile media player out there, so if you don’t have one already, get it here. Among many of its other amazing features, it makes playing subtitles(srt files) incredibly easy; all you have to do is put both video file and subtitle file in the same folder and give them the same name, as I explained here, and then use VLC to play the video file and it will automatically sync the subtitles. Sometimes, however, the subtitles are slightly off(usually because the translators used a slightly different video version than yours).
In that case, what you need to do is change the delay time, depending on whether the subtitles are before or after the audio. The easiest way I know of is to use the hotkeys, which should be automatically configured already to “h” and “j’ for the subtitle track.
While the video is playing, hit “h” to increase the subtitle delay and “j” to decrease it. If this doesn’t work. “ctrl + h” and “ctrl + j” will.
Each keystroke adds or subtracts a 50 millisecond delay. Keep in mind that this is milliseconds so that if your subtitles happen to be really off, like 30 seconds or so, you’ll have to hit it a decent number of times to get where you want(generally subtitles are only a few seconds or milliseconds off however).
If your hotkeys aren’t configured to h and j, go to VLC>Preferences>Interface>Hotkey Settings and check what your hotkeys are for changing the subtitle delay and use those.