網站可能被墻,請記住以下域名:subhd.cc subhd.me
【工具分享】轻量级SRT字幕工具:中英交换、提取中文字幕、自动换行
蒙太奇字幕组
2025年9月17日 18:04

大家好,我是蒙太奇字幕组的小p。

在制作字幕的过程中,经常会遇到一些重复的小问题:
- 想要把字幕的顺序从「中上英下」改成「英上中下」
- 想要基于双语字幕快速制作仅中文字幕
- 想要让中文字幕自动换行,而不是一行过长

在 Windows 上,有不少功能完善的图形界面软件可以解决这些问题,但在 Linux、macOS,或者需要批量自动化处理时,往往缺少轻量、无依赖的工具。

因此我们基于 AWK 编写了几个小脚本,简单直接,可以在不同环境下使用,即便是资源有限的树莓派也能用。
这些脚本并不是面向普通观众,而是帮助懂技术的字幕制作者,让流程更高效。
这也是蒙太奇字幕组持续为字幕社区贡献的一种方式。


【脚本介绍】
srt_zh_en_swap.awk
功能:交换字幕的中英行顺序。
用途:将「中上英下 (Chs&Eng)」调整为「英上中下 (Eng&Chs)」。

srt_zh_only.awk
功能:删除英文字幕,只保留仅中文字幕。
用途:适合在双语字幕的基础上快速生成单语中文字幕版本。

srt_zh_wrap.awk
功能:对过长的中文字幕进行智能换行。
用途:优化阅读体验,优先在对话符、标点处断行,避免出现一行过长的问题,可作为 srt_zh_only.awk 的后处理工具。


【项目地址】
GitHub: https://github.com/MontageSubs/srt-tools/

具体使用方法和详细说明,请参考仓库中的 README.md (说明文件)和脚本内注释。
这些脚本还比较基础,如果你有新的想法或改进思路,欢迎一起交流。
也欢迎更多字幕作者加入讨论,共同完善字幕和相关工具,更期待和你一起制作、翻译字幕。



蒙太奇字幕组 (MontageSubs)
“用爱发电 ❤ Powered by love”
發表留言 共 5 条

R
richardsxie
这种脚本我现在都是让DeepSeek写了。譬如下面就是一个写提取出字幕中人名的提示词: 帮我写一个Python程序,读取一个输入文件:input.srt。这个文件是中文srt字幕文件,utf-8编码,里面所有的人名是英文。类似: 7 00:01:40,078 --> 00:01:41,943 他是Milli还是Vanilli? 8 00:01:43,381 --> 00:01:45,440 你真是个天才。 9 00:02:04,070 --> 00:02:05,697 -嘿,Andy。-哟,Eddie! 提取出input.srt所有的英文人名写入到一个txt文件:output.txt,人名用空格隔开。相同的人名只提取一次。 下面则是翻译提示词、替换英文人名为中文人名的提示词: 把以下美国人名翻译成最合适的中文名,按类似以下格式输出:{'richard':'理查德','joe':'乔',…},即一个英文名对应一个中文名,名字都用英文引号包含,英文名和对应中文名之间用英文冒号,这组和下一组之间用逗号。英文名如下: Alessi Anastasia Anastasio Antea Aspasia Aspasio Ban Bartolini Carabolis Castagnoli Corcia Creriesa Damidatis Ebe Eftikia Eleni Elenitza Emantri Ettore Gaeta Gambardella Karamicali Kistoria Lydia Martino Minghetti Nausa Ocrida Panayiota Porta Satuli Sergio Sofia Tula Urak 帮我写一个Python程序,里面包括一个缺省的静态字典,类似:NAME_DIC ={'richard':'理查德','joe':'乔'},读取一个输入文件:input.srt,这个文件是中文srt字幕文件,utf-8编码,里面所有的人名是英文,且都在NAME_DIC字典中。请根据NAME_DIC 的每个键搜索input.srt每一行,发现有在字典中的英文名就用字典中该英文名对应的中文名,替换后写入一个叫output.srt的文件。注意只替换英文名,其他如行号,时间轴,其他字幕内容都保持与input.srt一致。
2025-9-29 20:42
蒙太奇字幕组
很厉害,很实用,谢谢你分享和说明!
2025-10-1 02:32

R
rita123
我老了,不学英文,我都用最简单的方法删英文 word关于保留中文字部分,可以利用取代功能 1.[寻找目标]输入 (<[a-z,A-Z])(*)(^13) 2.[取代为]不输入任何字 3.勾选[通配符] 4.按[全部取代] ass则直接用word,英字就变小,想小到蚂蚁可选6或8 把\全选换成 \N{\fs13\Arial}
2025-9-18 13:15
蒙太奇字幕组
是的,您是对的,大体上是一样的原理,脚本只是加了各种检查,但是是一样的,核心内容也就是正则匹配。也感谢您分享经验和心得。
2025-9-20 05:00

Z
zb0999
交换字幕的中英行顺序,这个功能不错,支持!
2025-9-17 19:33

最新評論
SubHD 0.006