用于提取和转换字幕的 Bash 脚本

用于提取和转换字幕的 Bash 脚本

我在设置 bash 脚本来自动化某些操作时遇到了一些问题。

我的问题是什么:我翻录了所有蓝光光盘,为我的家人设置了一个个人媒体服务器(例如 Emby)。不幸的是,我的文件包含很多 VOBSUB 或 PGS 字幕,它们不太兼容。因此,我想将它们转换为 SUBRIP。

因此,我需要:

  1. 提取当前字幕 (MKVToolNix -> mkvextract
  2. 转换 PGS -> SUB (BDSup2Sub)
  3. 转换 SUB 到 SRT (VobSub2SRT)

对于第一点,我在 www 中找到了脚本,现在我正尝试通过第二点和第三点来扩展它。

这是我目前拥有的: https://pastebin.com/LVxWQ7QM

当文件夹中只有一个 SUP 文件时,脚本可以完美运行,一旦有第二个文件,第 273 行的检查将不再起作用。示例:文件夹中有 abc.ger.sup 和 xyz.eng.sup

在第 273 行 $SRTNAME= xyz.eng.sup 因此检查不起作用。

希望我的意思能让您清楚,如果不清楚,请告诉我。

任何提示都值得感激。谢谢!

问候

答案1

我使用非常简单有效的一行来转换字幕:

for i in *.ass ; do ffmpeg -i "$i" "$i.srt" ; done

只需根据您的需要进行ass更改即可。srt

相关内容