#字幕 #OCR #DVD #文本图像 #VOBSub #字符 #PGS

bin+lib subtile-ocr

使用 Tesseract OCR 将 DVD VOB 字幕转换为 SRT 字幕

9 个版本

0.2.1 2024 年 8 月 11 日
0.2.0 2024 年 7 月 18 日
0.1.8 2024 年 7 月 12 日
0.1.7 2024 年 6 月 4 日
0.1.3 2024 年 2 月 4 日

#66 in 视频

Download history 35/week @ 2024-05-13 265/week @ 2024-05-20 99/week @ 2024-06-03 1/week @ 2024-06-10 7/week @ 2024-07-01 89/week @ 2024-07-08 107/week @ 2024-07-15 5/week @ 2024-07-22 3/week @ 2024-07-29 48/week @ 2024-08-05 77/week @ 2024-08-12

每月下载 135

GPL-3.0 许可证

72KB
1K SLoC

subtile-ocr

subtile-ocr 是一个快速且精确的 DVD VobSub 到 SRT 字幕转换工具。它最初是 vobsubocr 的分支。

背景

不幸的是,DVD 字幕基本上是以一系列图像的形式编码的。这在使用需要字幕文本表示的情况下会带来问题,例如语言学习。 subtile-ocr 可以通过从输入的 VobSub 文件生成 SRT 字幕来解决此问题,利用了 Tesseract 的功能。

安装

使用 cargo 安装最新版本

cargo install subtile-ocr

或者,从 git 安装开发版本

cargo install --git https://github.com/gwen-lg/subtile-ocr

您需要安装 Tesseract 的开发库;有关更多详细信息,请参阅 leptess 读取。如果您使用 Nix,提供的 shell.nix 提供了一个具有所有必要依赖项的环境。

用法

# Convert simplified Chinese vobsub subtitles and print them to stdout.
subtile-ocr -l chi_sim shrek_chi.idx

# Convert English vobsub subtitles and write them to a file named "shrek_eng.srt".
subtile-ocr -l eng -o shrek_eng.srt shrek_eng.idx

我们还可以使用 -c 为 Tesseract 指定更多高级配置选项。

# Convert subtitles and blacklist the specified characters from being (mistakenly) recognized.
subtile-ocr -l eng -c tessedit_char_blacklist='|\/`_~' shrek_eng.idx

它是如何工作的/与类似工具相比如何?

subtile-ocr 最相似的工具是 VobSub2SRT,但 subtile-ocr 的输出明显更好,尤其是在非英语语言方面,主要是因为 VobSub2SRT 在将图像发送到 Tesseract 之前根本不做任何预处理。例如,Tesseract 4.0 预期黑色文本在白色背景上,而 VobSub2SRT 并不能保证这一点,但 subtile-ocr 可以。此外,subtile-ocr 将每一行分割成单独的图像,以利用页面分割方法 7,这极大地提高了非英语语言的准确性。

有关如何提高 Tesseract 输出准确性的官方文档可以在 此处查看

杂项笔记

根据我的理解,Tesseract模型chi_simchi_tra可以处理简体和繁体中文文本,但会自动将文本转换为各自的形式。

依赖项

~11–22MB
~283K SLoC