Description
There are two main ways to deal with out-of-sync subtitles. The easy way is just to download another one, hoping for a better result. The more automated way is to use tools that have integrated mechanisms to target good subtitles and may sync them or tools that crawl through your filesystem to sync subtitles, therefore relying on filenames and pattern recognition. Most of these tools tend to be heavy to run and configure, implying some monitoring through a separate UI. This plugin aims to provide a compromise, "the best of both worlds", the automated approach without the overhead of running and monitoring a separate service.
What it does
Subsync Starter re-times the subtitle you already have, against the video it belongs to or against an already synced subtitle. Nothing is downloaded, nothing is regenerated, it just gets aligned.
- It's a Jellyfin plugin, not another service. No separate UI, no database, no complex configuration to babysit. It's configured from Jellyfin's own admin page and runs as a scheduled task, sitting right next to your library scans.
- No crawl of the filesystem and no dependency on naming patterns. It reads the Jellyfin database of subtitles, built when Jellyfin scanned your library, so forced tracks, SDH tracks, and hyphenated locale tags sync correctly instead of getting silently skipped by pattern-matching.
- Skips what's already done. Every synced file is fingerprinted, so nightly sweeps only touch what's new. It doesn't re-walk the same ground every night.
How it works, and what setup actually costs
This plugin aims to be an install-once, forget-it plugin. But let's be honest about the one-time cost. It's two pieces: the plugin runs inside Jellyfin, and a small sidecar docker container does the actual alignment work with ffsubsync and FFmpeg. It's a more hands-on installation than most plugins. You add it as a service in your existing docker-compose.yml, point the plugin at it, and map your library paths once. Check once that it runs fine, then after that you're done, no queue to watch, no indexer health to monitor, just a scheduled task that you can forget about.
What it isn't
It doesn't search for or download subtitles, bring your own, from Jellyfin's search, Bazarr, or other Jellyfin plugins, and it fixes the timing, that's all. It doesn't transcribe or generate subtitle text. If you don't have a subtitle file for something, this plugin has nothing to work with. It only sees what Jellyfin has indexed, so a subtitle dropped in since the last library scan won't be picked up until the next scan. And it skips ISO/BDMV/VIDEO_TS rips outright as there's no single video file to align against.
Disclaimer
This plugin brings ffsubsync to Jellyfin and integrates it to the Jellyfin admin interface. ffsubsync and FFmpeg actually do the heavy lifting and are the real heroes.
MIT licensed
Repository
https://github.com/Marnalas/jellyfin-subsyncInstallation Instructions
See the README.md file for updated installation instructions
Comments (0)
No comments yet. Be the first to share your thoughts!
