Subsync Starter cover

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

Share this plugin

Embed Badge

Add this badge to your README to link back to your hub page:

Listed on JellyWatch Hub

Installation Instructions

See the README.md file for updated installation instructions

Comments (0)

No comments yet. Be the first to share your thoughts!

Details

Subsync Starter

jellyfinby Marnalas 138
GitHub Stars 0
Approved
Submitted

Links

Other Open

Similar Plugins

OpenSubtitles

2796

Official Jellyfin plugin to download subtitles from OpenSubtitles.com for any video in your library.

Whisper Subs

372

Automatically generates subtitles using local AI models powered by Whisper on your server.

Bazarr-Jellyfin

339

Search and download subtitles directly from Jellyfin native subtitle UI using your Bazarr instance.

Subgen

1664

Autogenerate subtitles using OpenAI Whisper Model via Jellyfin webhook integration.