ffsubsync

Language-agnostic automatic synchronization of subtitles with video, so that subtitles are aligned to the correct starting point within the video.

Cost / License

  • Free
  • Open Source (MIT)

Platforms

  • Windows
  • Mac
  • Linux
  • Python
-
No reviews
2likes
0comments
0news articles

Features

Suggest and vote on features
  1.  Srt
  2.  VLC
  3.  Synchronization

 Tags

  • subtitle-sync
  • vlc-media-player
  • voice-activity-detection
  • vad
  • Sync Subtitles
  • caption
  • captions
  • srt-subtitles
  • string-alignment
  • speech-detection
  • ffmpeg
  • fft
  • video
  • fast-fourier-transform
  • synchronize-subtitles
  • Subtitles
  • alignment
  • sync
  • subtitle-synchronization
  • audio

ffsubsync News & Activities

Highlights All activities

Recent activities

Show all activities

ffsubsync information

  • Developed by

    US flagStephen Macke
  • Licensing

    Open Source (MIT) and Free product.
  • Written in

  • Alternatives

    29 alternatives listed
  • Supported Languages

    • English

AlternativeTo Categories

Backup & SyncVideo & Movies

GitHub repository

  •  7,509 Stars
  •  309 Forks
  •  78 Open Issues
  •   Updated  
View on GitHub
ffsubsync was added to AlternativeTo by K0RR on and this page was last updated .
No comments or reviews, maybe you want to be first?
Post comment/review

What is ffsubsync?

Language-agnostic automatic synchronization of subtitles with video, so that subtitles are aligned to the correct starting point within the video.

Usage: ffs video.mp4 -i unsynchronized.srt -o synchronized.srt

How It Works:

  1. Discretize both the video file's audio stream and the subtitles into 10ms windows.
  2. For each 10ms window, determine whether that window contains speech. This is trivial to do for subtitles (we just determine whether any subtitle is "on" during each time window); for the audio stream, use an off-the-shelf voice activity detector (VAD) like the one built into webrtc.
  3. Now we have two binary strings: one for the subtitles, and one for the video. Try to align these strings by matching 0's with 0's and 1's with 1's. We score these alignments as (# video 1's matched w/ subtitle 1's) - (# video 1's matched with subtitle 0's).

Official Links