Sushi:基于音频流的智能字幕同步工具

Sushi:基于音频流的智能字幕同步工具

【免费下载链接】Sushi Automatic subtitle shifter based on audio 【免费下载链接】Sushi 项目地址: https://gitcode.com/gh_mirrors/sus/Sushi

Sushi是一个基于音频流的SRT和ASS字幕自动对齐工具,能够智能匹配不同版本视频的字幕文件,让你彻底告别繁琐的手动调整。

项目简介

想象一下这样的场景:你有一个已经与某个视频文件同步的字幕文件,但你想通过合法途径将这些字幕用于你拥有的其他视频。常见的例子包括电视版与蓝光版、PAL与NTSC视频以及不同国家发布的版本。在很多情况下,字幕不会立即匹配,你需要进行同步。

Sushi的设计目的就是为了避免所有手动同步的麻烦。它通过寻找音频流中的相似性来同步字幕。该工具非常快速,可以在你想要观看视频时立即使用。

核心工作原理

Sushi需要提供两个音频文件和一个与其中一个文件匹配的字幕文件。对于字幕的每一行,脚本将从源音频流中提取对应的音频,并尝试在目标音频流中找到最接近的相似模式,从而获得偏移量,最终应用于字幕。

该工具基于Python、NumPy和OpenCV库构建,并支持可选的FFmpeg,使其能够处理多种音频和视频格式。

快速开始

最基本的命令行如下所示:

python sushi.py --src hdtv.wav --dst bluray.wav --script subs.ass

输出文件名是可选的,默认使用"{destination_path}.sushi.{subtitles_format}"格式。

需要注意的是,WAV并不是Sushi唯一可以处理的格式。如果FFmpeg可用,它可以直接处理音视频文件并解码各种音频格式。

系统要求

Sushi支持Windows、Linux和OS X三大操作系统。要运行它,你需要安装以下组件:

  1. Python 2.7.x
  2. NumPy(1.8或更新版本)
  3. OpenCV 2.4.x或更新版本

可选组件包括:

  1. FFmpeg用于任何类型的解复用
  2. MkvExtract用于解复用时的更快时间码提取
  3. SCXvid-standalone如果你希望Sushi制作关键帧
  4. Colorama用于在Windows上为控制台输出添加颜色

安装指南

Windows系统

Windows二进制版本包含所有必需的组件和Colorama,因此如果你使用二进制分发版,就不需要安装它们。如果你想要使用Sushi的解复用功能,仍然需要自行下载其他应用程序。

Mac OS X系统

目前没有为OS X提供二进制包,因此你必须使用脚本形式。假设你已经安装了python 2、pip和homebrew,运行以下命令:

brew tap homebrew/science
brew install git opencv
pip install numpy
git clone https://gitcode.com/gh_mirrors/sus/Sushi
# 如果你希望全局运行sushi,创建一个符号链接
ln -s `pwd`/Sushi/sushi.py /usr/local/bin/sushi
# 安装一些可选的依赖项
brew install ffmpeg mkvtoolnix

Linux系统

如果你有apt-get可用,安装过程非常简单。

sudo apt-get update
sudo apt-get install git python python-numpy python-opencv
git clone https://gitcode.com/gh_mirrors/sus/Sushi
ln -s `pwd`/Sushi/sushi.py /usr/local/bin/sushi

项目结构

Sushi项目包含多个核心模块:

  • sushi.py:主程序入口,包含字幕同步的核心算法
  • subs.py:字幕文件解析和处理模块
  • demux.py:音视频解复用功能
  • wav.py:WAV音频文件处理
  • keyframes.py:关键帧处理
  • chapters.py:章节信息处理
  • common.py:通用工具函数

技术特点

  1. 高效处理能力:Sushi的智能算法能够在短时间内处理大型音视频文件,即使是高清影片也能快速完成字幕同步。

  2. 广泛兼容性:支持Windows、Linux和OS X三大操作系统,配合FFmpeg可处理多种音视频格式。

  3. 便捷操作体验:简洁的命令行界面搭配清晰的参数选项,让技术新手也能轻松上手。

应用场景

跨版本视频共享 当你从不同渠道获取同一部影片的多个版本时,Sushi能够快速同步已有字幕文件,确保观影体验无缝衔接。

个人媒体库管理 对于拥有大量不同来源视频的收藏者,Sushi可以统一所有字幕文件,大幅提升媒体库的管理效率。

多语言翻译支持 在字幕翻译工作中,Sushi确保字幕与音频的精确匹配,为多语言内容创作提供可靠保障。

使用限制

该脚本永远无法正确处理逐帧排版。如果底层视频流发生变化(例如具有不同的电视电影模式),你可能会得到不正确的输出。

该脚本无法改善不良的时序。如果原始行时序错误,输出文件中的时序也会错误。

简而言之,虽然这可能对于即时观看是安全的,但你不应该盲目地使用它来永久存储字幕。

测试与验证

项目包含完整的测试套件,位于tests目录下,涵盖字幕解析、时间码处理、解复用等核心功能的单元测试。

通过运行python run-tests.py可以执行所有测试用例,确保功能的正确性和稳定性。

【免费下载链接】Sushi Automatic subtitle shifter based on audio 【免费下载链接】Sushi 项目地址: https://gitcode.com/gh_mirrors/sus/Sushi

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值