It can sync from audio in the video or from another srt. Target srt can be in different language than reference.
EDIT: Two forks, but I haven't tried them as I'm still using the original as it still works well even though it has been archived.
Not an answer to your current query, but my first published rust crate shortly after the language hit 1.0 was a tool to both calculate and correct linear drift, long before the era of LLMs or quality audio recognition. It might be fun to tackle this again with the new tech we now have at hand!
Srt-resync: https://github.com/mqudsi/srtresync
Download links and a bit of write up here - https://news.ycombinator.com/item?id=48528779#48535207
Honestly you can probably build your own quite easily. I put together a plex player for firetv that does on device subtitling for whatever you're watching. I got sick of having to find subtitles.
One thing to watch for, make sure it never tries to 2 subtitles at the same time or they will stack in a weird way. It's easy to avoid that but my first pass on a few episodes screwed up the subtitles.
Also, you almost certainly want to extract the subtitles for this work, or at least that's what I did. A combo of pulling out the subtitles in the video file and using OpenSubtitles (VIP) to clean up my media.
This method aligns the transcript of a 60 hour book in 20 minutes on my GPU using Parakeet CTC 0.6B which is english only, but there's similarly sized models in other languages, the models don't need to be that good at transcribing to generate good alignments.
Will definitely look into implementing this.
Imagine the same subtitles working across different encodings and (minor) edits of the same video…
When I last looked for this a few years ago, I only found a really primitive one that did a linear transformation of all timestamps in the video, and none to correct each line individually.
edit: Claude recommended alass. Any experiences with that one, or better options?