Files
SubMiner/backlog/tasks/task-43 - Add-community-subtitle-timing-database-for-shared-sync-corrections.md
2026-02-13 18:29:17 -08:00

2.5 KiB

id, title, status, assignee, created_date, labels, dependencies, priority
id title status assignee created_date labels dependencies priority
TASK-43 Add community subtitle timing database for shared sync corrections To Do
2026-02-14 02:13
feature
community
subtitles
sync
low

Description

Allow users to share their subtitle timing corrections to a community database, so other users watching the same video file get pre-synced subtitles automatically.

Motivation

Subtitle synchronization (alass/ffsubsync) is one of the most friction-heavy steps in the mining workflow. Users spend time syncing subtitles that someone else has already synced for the exact same video. A shared database of timing corrections keyed by video file hash would eliminate redundant work.

Design

  1. Video identification: Use a partial file hash (first + last N bytes, or a media fingerprint) to identify video files without uploading content
  2. Timing data: Store the timing offset/warp parameters produced by alass/ffsubsync, not the full subtitle file
  3. Upload flow: After a successful sync, offer to share the timing correction (opt-in)
  4. Download flow: Before syncing, check the community database for existing corrections for the current video hash
  5. Trust model: Simple upvote/downvote on corrections; show number of users who confirmed a correction works

Technical considerations

  • Backend could be a simple REST API with a lightweight database (or even a GitHub-hosted JSON/SQLite file for v1)
  • Privacy: only file hashes and timing parameters are shared, never video content or personal data
  • Subtitle source (jimaku entry ID) can serve as an additional matching key
  • Rate limiting and abuse prevention needed for public API
  • Could integrate with existing jimaku modal flow

Phasing

  • v1: Local export/import of timing corrections (share as files)
  • v2: Optional cloud sync with community database

Acceptance Criteria

  • #1 Video files are identified by content hash without uploading video data.
  • #2 Timing corrections (offset/warp parameters) can be exported and shared.
  • #3 Before syncing, the app checks for existing community corrections for the current video.
  • #4 Upload of timing data is opt-in with clear privacy disclosure.
  • #5 Downloaded corrections are applied automatically or with one-click confirmation.
  • #6 Trust signal (confirmation count) is shown for community corrections.