# smacke/ffsubsync

Automagically synchronize subtitles with video.

Repository: https://github.com/smacke/ffsubsync
Canonical: https://ross.abutalabs.com/products/ffsubsync
Language: Python
License: MIT
License Family: permissive
Topics: subtitles, video, audio, ffmpeg, vad, fft, synchronization, sync, subtitle, captions, vlc, vlc-media-player, srt, srt-subtitles, voice-activity-detection, speech-detection, fast-fourier-transform, alignment, string-alignment, caption
Last push: 2026-07-24T04:53:31+00:00

## Health v2 (maintenance only)
Score: 84/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 94, release rhythm 62, longevity 100
- inputs: {"age_days": 2747, "days_push": 40, "days_rel": 40, "gap_med": 205, "n_releases_24m": 4}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 7854, forks 322 (observed 2026-08-28T04:10:07.433042+00:00)

## What it is
FFsubsync is a Python command-line tool that automatically synchronizes subtitle files (e.g., SRT) with video or audio, using voice activity detection and FFT-based audio analysis or a reference subtitle. It also offers a browser-based version that runs entirely client-side via ffmpeg.wasm.

## Use cases
- sync subtitles with a video automatically
- fix subtitles that are offset from the movie audio
- align srt file to correct starting point in video
- resync downloaded subtitles to my video file
- sync subtitles using a correctly-timed reference subtitle
- batch sync subtitles from the command line
- sync subtitles in the browser without installing anything

## When to choose
- you have mistimed subtitles and want automatic, language-agnostic alignment
- you want a scriptable CLI tool for bulk subtitle syncing
- you prefer a no-install browser option that keeps files local

## When to avoid
- you need to translate, edit, or author subtitles rather than just time-shift them
- you need a GUI subtitle editor with visual timeline adjustment
- your video has no speech and no reference subtitle to sync against

## Facets
- artifact type: cli-tool
- maturity: active
- function: audio-processing, speech-recognition, cli, developer-tools
- domain: media, developer-tools
- platform: python, cli, cross-platform, browser, windows
- tags: subtitles, srt, ffmpeg, subtitle-sync, voice-activity-detection, captions, vlc, video, audio, command-line, macos, linux

## Member repositories
- smacke/ffsubsync (main) score 84

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:10:07.433042+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:33:48.602214+00:00, confidence not recorded.
  - readme: https://github.com/smacke/ffsubsync (fetched 2026-08-28T04:10:07.433042+00:00, sha bd8048763033)
  - registry_pypi: https://pypi.org/pypi/ffsubsync/json (fetched 2026-08-29T08:30:19.819552+00:00, sha e54cf1b5dbb0)
- Data as of 2026-08-30T08:39:29.467469+00:00.
