Skip to main content

Batch Subtitle Synchronization Tool

Project description

Sushi Batch

Batch subtitle synchronization tool based on Sushi.

Job Queue preview

Overview

This tool allows you to sync subtitle timing between different releases of the same media (e.g., WEB-DL to Blu-Ray) without manual adjustments. It is ideal for anime fansub releases and translations from different sources, but can be used for any media with existing subtitles.

Main Features

  • Batch processing of synchronization tasks using Sushi.
  • Resample subtitle resolution to match the target video (requires Aegisub-CLI).
  • Merge the synced subtitle back into the target video after syncing (requires MKVMerge).

How does Sushi work?

Sushi works by finding the closest similar pattern between a provided source and sync target audio track. The obtained shift value is applied to the output subtitle, which will be synced to the sync target track.

Audio-based Sync

You must provide:

  • A subtitle file (ASS, SRT, SSA).
  • The original audio track for that subtitle.
  • A sync target audio track to sync the subtitle to.

Video-based Sync

You only need to provide:

  • A source video file that contains subtitle and audio tracks.
  • A sync target video file.

You must select the reference subtitle and audio track from the source file, and the target audio track for the sync. FFmpeg will take care of extracting these tracks for later processing.

The newly synced subtitle file can be found in the same directory as the target file, with the .sushi suffix.

Installation

pip install sushi-batch

Required apps

Windows

Add the required binaries to PATH or install them via a package manager like Chocolatey. You can also copy the executables to the directory from which you run this app (not recommended).

Linux

Most distros link installed packages to PATH automatically, so just make sure to install the required apps via your distribution's package manager.

macOS

brew install ffmpeg mkvtoolnix

Folder Structure for Directory Select Modes

Audio-Sync

  
    📂Source Folder
     ┣ 🔊Fullmetal Alchemist - 01 (DVD).flac
     ┣ 📜Fullmetal Alchemist - 01 (DVD).ass
     ┣ 🔊Fullmetal Alchemist - 02 (DVD).flac
     ┣ 📜Fullmetal Alchemist - 02 (DVD).ass
     ┣ 🔊Fullmetal Alchemist - 03 (DVD).flac
     ┗ 📜Fullmetal Alchemist - 03 (DVD).ass
    📂Sync Target Folder
     ┣ 🔊Fullmetal Alchemist - 01 (BD).flac
     ┣ 🔊Fullmetal Alchemist - 02 (BD).flac
     ┗ 🔊Fullmetal Alchemist - 03 (BD).flac
  

Video-Sync

  
    📂Source Folder
     ┣ 📺Fullmetal Alchemist - 01 (DVD).mkv
     ┣ 📺Fullmetal Alchemist - 02 (DVD).mkv
     ┗ 📺Fullmetal Alchemist - 03 (DVD).mkv
    📂Sync Target Folder
     ┣ 📺Fullmetal Alchemist - 01 (BD).flac
     ┣ 📺Fullmetal Alchemist - 02 (BD).mkv
     ┗ 📺Fullmetal Alchemist - 03 (BD).mkv
  

Important

Data and logs for all enabled operations are stored in the SushiBatchTool directory inside your Documents folder:

  • Windows: C:\Users\<your-user>\Documents\SushiBatchTool
  • Linux: /home/<your-user>/Documents/SushiBatchTool
  • macOS: /Users/<your-user>/Documents/SushiBatchTool

Merge synced subs with video

If mkvmerge is installed, synced subtitles can be merged into the selected sync target video file.

Video merging supports two workflows:

  • Automatic merge after sync completion.
  • Manual merge from the Job Queue menu.

The following behavior can be adjusted in the App Settings menu:

  • Merge automatically on sync completion.
  • Resample synced subtitles before merge (Aegisub-CLI required).
  • Delete generated subtitle files after successful merge.
  • Choose which tracks/metadata are copied from source and sync target files.
  • Set default/forced flags and a custom track name for the merged subtitle.
  • Save MKVMerge logs to the app data folder.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sushi_batch-1.0.0.tar.gz (319.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sushi_batch-1.0.0-py3-none-any.whl (43.0 kB view details)

Uploaded Python 3

File details

Details for the file sushi_batch-1.0.0.tar.gz.

File metadata

  • Download URL: sushi_batch-1.0.0.tar.gz
  • Upload date:
  • Size: 319.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for sushi_batch-1.0.0.tar.gz
Algorithm Hash digest
SHA256 6727cae63f0313bfc4dc819ca41bb377405f1a160a385bf0c40c660a7e33a423
MD5 673f74b5dd5d9bae4f94a1046a83c799
BLAKE2b-256 ff7c8fc45c9f44326438bc04fd3ef0c688d8673fd41e9873152bf2acb3f5d261

See more details on using hashes here.

File details

Details for the file sushi_batch-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: sushi_batch-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 43.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for sushi_batch-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 edd9f1937702e57cb23b995383c2353de1d3d2e647bd1c361ac7bb0c9095aac4
MD5 3d226fae6dc459bc3bdcf6b5491ed2e8
BLAKE2b-256 915fc4e837f26dcc31117e1710f237f0cded7b8c756f5b56d5e55fc950ec505e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page