国语视界
标题:
Aegisub脚本运用2:Utilities篇1 SDH字幕处理与对白检查
[打印本页]
作者:
zhanglangcn
时间:
21-6-25 22:07
标题:
Aegisub脚本运用2:Utilities篇1 SDH字幕处理与对白检查
本帖最后由 zhanglangcn 于 21-7-19 16:09 编辑
前期回顾
Aegisub脚本运用1:Merge Bilingual SUBS篇 合并中英字幕
https://cnlang.org/thread-86347-1-1.html
前言
想了好久,还是决定用几篇教程介绍以下我写的脚本的使用方法以及能够实现的功能。
首先先声明以下这一系列教程将不会包括:
1. 什么是脚本,脚本是用来干嘛的
2. Aegisub脚本要如何安装
3. 脚本快捷键如何设置
4. Yutils是什么,要怎么安装,(但其是实现脚本功能的一个非常重要的库,请自行按照
https://cnlang.org/forum.php?mod=viewthread&tid=85654
或百度教程安装)
所有我的脚本都保存在我的GitHub仓库内,地址
https://github.com/zhang-changwei/Automation-scripts-for-Aegisub
喜欢的大佬可以为我加star,遇到问题可以直接issue中提出,我在GitHub的回复肯定比在论坛提问回复及时。我会在7月上旬发布一次release,在此之前请直接下载源码
上一期教程中提到了很多这个脚本里的内容,在这一期中都会一一介绍
脚本界面
脚本的界面很简单:Option选择你想要工作的模式,如果该模式有更多可以设置的参数,则可以在对应的框中设定,如果选择的模式在界面上没有更多内容,则只要无脑点run运行,界面的最下面是一些简单说明(图片仅供参考,请以实物为准
)
点击下拉菜单可以看到所有支持的工作模式,这一节会介绍其中跟对白有关的部分
Delete SDH Comment
这个模块很显然就是用来处理SDH字幕的,选中你想要操作的字幕行(多行)运行。
参数分为两个部分:匹配规则(to上面的)和想要转换成的内容(to下面的一个框)。简单来说,脚本就是将所有满足匹配规则的字符串转换成一个新的内容,而这个匹配规则是你来指定的,例如可以将所有被小括号包裹的内容转换为空
最上面的六个标点:
匹配被该种标点包裹的内容,上面四个是半角的,下面两个是全角的,例如(sniff)可以被(...)匹配到,想到某种匹配规则勾选前面的勾即可
automatically remove speaker:
自动移除说话人选项,目前采用一种较为激进的匹配策略,之后可能会改。半角冒号前的内容会被匹配,如Ted: ,Older Ted: 等,注意冒号到前一个标点(或句首)间的内容都会被匹配,如果你的(英文)字幕没有标点, 请勿使用该选项。如果你不知道在作甚么,请勿勾选。
other patterns:
自定义设置匹配内容,支持一次输入多条规则,请用半角逗号分隔,不要加多余的空格
to:
将匹配到的内容转换成的东西,默认为一个空格
Dialog Checker
这个模块是对对白字幕的一个检查器,所以请放心,他不会对字幕的内容作任何修改,
但强烈建议使用前Ctrl+S保存字幕并且一次运行不要超过1000行,以防Aegisub卡死
。检查器有三种检查的内容,勾选你所需要的即可,默认全部开启。选中你想要操作的字幕行(多行)运行。
overlap checker:
时间轴重叠检查,以确保对白字幕没有重叠,使用前请确保所有字幕按时间顺序排列,如果有错误,他会在对应行的actor栏内生成overlap字样。
bilang checker:
双语字幕检查,确保字幕为中上英下两行显示,一行字幕中超过两行、只有一行、只有英文不能通过测试,但要注意双行中文仍能通过测试(为中日这种双语字幕做出的妥协),如果有错误,他会在对应行的actor栏内生成bilang字样。
overlength checker:
需要Yutils!
检查字幕中是否有超长句的出现,下方两个buffer参数为其控制参数,分别控制上方行字幕长度与下方行字幕长度,如果为单语字幕只有buffer1生效。如果有错误,他会在对应行的actor栏内生成overlength字样。
buffer:
参数范围0-1.其值为字幕在视频中占据的最大宽度与视频宽度之比。可以看下面这张丑陋的图
脚本运行后首先会弹出一个提示的报告,如果提示发现了错误再根据actor中的字样寻找错误位置
Delete Empty Lines
删除空白的行以及只有特效标签没有内容的行,选中你想要操作的字幕行(多行)运行。
Separate Bilangual SUBS by \N
当一条字幕行中既存在中文也存在英文,且中英文间用空格分隔时,可以用该脚本将空格转换为\N,选中你想要操作的字幕行(多行)运行。
Swap SUBS Splitted by \N
将 中文\N英文 字幕行转换为 英文\N中文,也可以将 英文\N中文 字幕行转换为 中文\N英文,选中你想要操作的字幕行(多行)运行。
切勿水贴!!!
作者:
yaojingzhe
时间:
21-6-26 01:05
这次的教程,写得非常详细,我用了你其它几个脚本,非常非常好用,还有几个脚本,没有明白,准备多试试几个参数,看看是什么效果
作者:
低调做人
时间:
21-6-26 06:52
楼主分享教程辛苦了
作者:
feb12345
时间:
21-7-1 09:50
Subtitle Edit删除听障辅助文本即可实现,功能很强大
[attach]78022[/attach]
作者:
SuperD893
时间:
21-10-22 12:42
本帖最后由 SuperD893 于 21-10-22 12:55 编辑
谢谢楼主,对于基础处理很实用的功能,不是自己亲手一条龙搞定的字幕,确实需要多方处理,这些脚本极大的减轻了时间成本
作者:
nightsky
时间:
22-6-12 19:57
非常方便的脚本,楼主人才啊,谢了
作者:
qstlcl
时间:
22-8-18 23:03
逛一逛,学一学
作者:
LipGallagher
时间:
23-2-2 03:03
目前唯一一个看懂的,不过新版本多了很多新功能,不知道有没有新的解释
作者:
jrco
时间:
23-2-23 08:38
谢谢老师的制作!在GitHub仓库里的新版本多了好多内容也都很好用
检查对白的功能我太需要了,之前我是把aegisub的视频跳到字幕行的按钮打开然后按回车检查的,看得眼睛要瞎叻,有脚本就很方便
现在这些aegisub脚本已经把srtedit多出的那些功能都涵盖了,都不需要换软件,超级方便
欢迎光临 国语视界 (https://bbs.cnlang.org/)
Powered by Discuz! X3.4