I used to watch a lot of movies and in my experience, when a subtitle is out of sync, it is very hard to manually sync it, because of different frame rates and missing sections. So even if you sync it at one point, it will quickly gets out of sync soon. What your tool does can be easily done in vlc player by j/h keys to tweak subtitle delays while playing the movie. But even that does not work. and it will get out of sync with in 5-10 minutes.
What I find the most frustrating is that even after downloading, unzipping and applying 4 or 5 subtitles, you might not find a perfect one. So what I did was to write a tool ([1], [2]) that downloads all the available subtitles for a movie and automatically selects a candidate subtitle from all of them and displays the time at which it appears in each of the downloaded subtitles. You can select the perfect subtitle by finding the time the candidate dialogue appear in the movie and matching it with the list printed out by the tool.
If a dialogue that appears, say 10 or 20 minutes into the movie, is already in perfect sync with a subtitle file, chances are that the rest of the dialogues will be in sync too. And it has worked greatly so far..
my experience has been a little different: when I find out of sync subtitles, it is mostly because either the video file or the .srt file includes opening credits (and/or the "previously on..." sequence), and the other doesn't.
In that case, fiddling with j/h on vlc is tedious, because you have to "shift" the subtitles by quite a lot. Also, I usually use plex on my raspberry pi to watch movies, so I can't just fix it in vlc and keep watching.
So what I typically do is: (1) I download the most upvoted subtitle file, trying to match the tags of my video file, (2) I use vlc to check if the .srt is in sync, and if not I check the time of the first dialog I find by randomly skipping through the video, (3) I look for that dialog using subslider.js, and set the time.
This is the quickest way that I found to fix subtitles, and it's worked almost 100% of the times. I think I only found a subtitle file that had a different frame rate than the video just once in my life, in which case I simply downloaded another .srt and I was done.
Your tool looks very neat, I'll definitely try it out next time I have a .srt that doesn't work!
I used to watch a lot of movies and in my experience, when a subtitle is out of sync, it is very hard to manually sync it, because of different frame rates and missing sections. So even if you sync it at one point, it will quickly gets out of sync soon. What your tool does can be easily done in vlc player by j/h keys to tweak subtitle delays while playing the movie. But even that does not work. and it will get out of sync with in 5-10 minutes.
What I find the most frustrating is that even after downloading, unzipping and applying 4 or 5 subtitles, you might not find a perfect one. So what I did was to write a tool ([1], [2]) that downloads all the available subtitles for a movie and automatically selects a candidate subtitle from all of them and displays the time at which it appears in each of the downloaded subtitles. You can select the perfect subtitle by finding the time the candidate dialogue appear in the movie and matching it with the list printed out by the tool.
If a dialogue that appears, say 10 or 20 minutes into the movie, is already in perfect sync with a subtitle file, chances are that the rest of the dialogues will be in sync too. And it has worked greatly so far..
[1] https://hackage.haskell.org/package/hastily
[2] https://pypi.python.org/pypi/Titley