Settings — Sync Engines
Settings → System → Sync Engines shows the sync engine chain and the most recent sync attempts. The page is read-only: it reports what is installed and what happened, it does not change how sync behaves. The user-facing sync workflow — what a sync changes and when it is refused — lives at Multi-Engine Sync.
Engine chain
Section titled “Engine chain”| Engine | What it does | Availability |
|---|---|---|
| ffsubsync | Speech detection against the video’s audio track. | Bundled in the Docker image. |
| alass | Aligns against a reference subtitle. | Needs the alass binary; see Installing alass. |
Each engine shows available or unavailable and its timeout. Below the list, the Sanity threshold in milliseconds: an engine whose measured offset exceeds it is rejected. It comes from sync_sanity_threshold_ms (default 45000, 45 s), which is set through the settings API; changing it takes effect without a restart.
Recent sync runs
Section titled “Recent sync runs”Every sync attempt — success, skip, refusal or error — is listed with its engine, status, measured offset, duration, time and, where there is one, the reason. The same rows are available from GET /api/v1/sync/runs and are described under Audit trail.
Where sync is switched on
Section titled “Where sync is switched on”The settings that decide whether and how a downloaded subtitle is synced live elsewhere:
| Setting | Where | Default | Effect |
|---|---|---|---|
| Auto-Sync | Settings → Automation → Post-processing | off | Sync every downloaded subtitle against its video. |
| Auto-Sync engine | Settings → Translation → Backends | ffsubsync | Engine for the automatic sync. alass is skipped there, because it needs a reference track. |
Manual syncs start from the subtitle tools and the Sync compare view.