Sushi Batch
Batch subtitle synchronization tool based on Sushi.
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 subtitle synchronization tasks using Sushi.
- Merge the synced subtitle back into the target video after syncing (requires MKVMerge). More info
- Re-encode lossless audio tracks (e.g., FLAC, WAV) in the video before merging.
- Supports AAC, EAC-3 and Opus.
- A recommended bitrate is selected based on the number of audio channels (can be customized in Encode Settings).
- Resample subtitle resolution to match the target video before merging (requires Aegisub-CLI).
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
- FFmpeg / FFprobe
- MKVMerge (from MKVToolNix) (Optional)
- Aegisub-CLI (Optional)
- Opusenc (Optional)
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.
- Re-encode lossless audio before merge.
- Target lossy codec for encoding.
- Bitrates
- 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.
Metadata
Release files for sushi-batch 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sushi_batch-1.1.0.tar.gz | 360.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sushi_batch-1.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 431.0 kB
Release files / sushi_batch-1.1.0.tar.gz
| Download URL | sushi_batch-1.1.0.tar.gz |
|---|---|
| Size | 360.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b132e218e287610715faf976501a198a0ddbe3cbaece578cfe1101c1e20fa297
|
|
BLAKE2b-256 checksum How to use checksums |
05203d237503feffb663178ee8f7baf12b781b7d8143d00da4acb6711ff81051
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|
Release files / sushi_batch-1.1.0-py3-none-any.whl
| Download URL | sushi_batch-1.1.0-py3-none-any.whl |
|---|---|
| Size | 70.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
48d8c886ed3a7576785496c33d93dd5429cb006a084cf487e70f7bc194ab5cbc
|
|
BLAKE2b-256 checksum How to use checksums |
2d4f90c2b70a6d2709269ae23872629f725ecdc5e1d437e53954652b52d304c0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|