SrtEdit 问题统一问答专贴。
srtedit吧
全部回复
仅看楼主
level 5
ywg712 楼主
各位用户反馈请尽量在本贴进行,谢谢!
——SrtEdit 作者
2024年05月23日 13点05分 1
level 1
学习制作字幕时试用了好多字幕软件,最后发现SrtEdit真的是非常好用,而且对新手极其友好。
当初我连字幕文件是啥的都不太清楚,但一接触SrtEdit就很快上了手。而制作ASS字幕,我几乎可以说是完全靠SrtEdit及其帮助学会的。
当我对字幕制作有了进一步的了解后,也试用过不少其它字幕软件,但这十多年来SrtEdit仍然一直是我电脑中的常备常用软件。
不过也有一点遗憾,那就是作者宣布不再更新了。但是,真没想到这么多年后SrtEdit又再次更新了,真的是
太太
太太太太太太感谢作者了。
昨天搜其它字幕问题时无意中发现,SrtEdit竟然更新了,真的是喜出望外。赶快下载来简单试用了一下,竟然增加了我最想要的正则表达式,其它的新增功能中亮点也非常多,还得慢慢研究。
不过在试用过程中,也发现一处疑似BUG,当然也可能是我设置或操作不正确,还是先报告一下吧:
操作系统:WIN7
SrtEdit版本:SrtEdit8.0(x64)_20240822
单条双语字幕文件(含纯中文及纯英文字幕条),选中字幕后进行"风格覆盖代码"(旧版叫"文本特效编辑")操作时:
选择"作用范围"为"全部"时,无问题。
中上英下:
选择"作用范围"为"中文字幕"时,仅会在中文语句前加{\ASS代码|,而在中文语句末无{\r}。
选择"作用范围"为"英文字幕"时,则会在英文语句前加{\r}{\ASS代码},而在英文语句末无{\r}。
英上中下:
与上述情况相反。
选择"作用范围"为"英文字幕"时,仅会在英文语句前加{\ASS代码|,而在英文语句末无{\r}。
选择"作用范围"为"中文字幕"时,则会在中文语句前加{\r}{\ASS代码},而在中文语句末无{\r}。
总结一下似乎是这样,对单条双语字幕进行"风格覆盖代码"操作时,如果指定"作用范围"为位置在上的语言,则仅在指定语言语句前面加代码;指定"作用范围"为位置在下的语言,则仅在指定语言语句前加{\r}{\ASS代码}。这样一来就达不到为在单条双语字幕中分别为不同语言设置不同代码的效果了。
这是BUG吗?或者是我还需进行其它设置或操作吗?
2024年09月05日 12点09分 2
谢谢您对SrtEdit的厚爱!这的确是个BUG,是7.0开始优化一些功能的一个基本函数有BUG。我自己对此使用较少,没有测试到这个BUG。非常感谢您的指正。解决起来很容易,增加一个条件判断即可。已修改,即将发布,敬请等待。
2024年09月06日 02点09分
20241003版已完美地解决了这个问题。
2024年10月03日 13点10分
level 1
另外,关于“文本特效编辑”(“风格覆盖代码”)我还发现一个有意思的现象:
单条双语字幕中,假设字幕中即有“中上外下”也有“外上中下”的字幕。
如果“中上外下”的字幕条数大于“外上中下”,则对选中的任意条数“外上中下”进行“文本特效编辑”(“作用范围”非“全部”)操作后,则“外上中下”会自动变为“中上外下”。
如果“中上外下”的字幕条数等于或小于“外上中下”,则对选中的任意条数“中上外下”进行“文本特效编辑”(“作用范围”非“全部”)操作后,则“中上外下”会自动变为“外上中下”。
这是SrtEdit有意如此设置的吗?
2024年09月05日 12点09分 4
旧版中外字幕位置操作是针对所选字幕,而为了避免混乱,新版统一针对全文。因此,会根据少数服从多数的原则统一。
2024年09月06日 02点09分
另外,对字幕操作是针对所选还是全文可参见状态行对当前命令的说明。
2024年09月06日 02点09分
level 1
关于“文本特效编辑”(“风格覆盖代码”)的一个想法。
有时候需要在部分字幕语句前后加一些字符,比如说可能会想在歌词的前后加上#号、*号,或其它音乐符号等等。
这时候我是这样做的:
如果是单语字幕好办,“作用范围”选“全部”,前后缀随便加,只是要注意所添加字符的第一个和最后一个如果是空格的话会被自动去掉。因此如果需要在首尾位置添加空格的话,可以在空格之前后之后随便加一个字符,然后再替换掉。我是把需要添加的字符全部用大括号{}包含起来,最后再全部替换。
如果是单条双语字幕就有点麻烦,如果要修改的字幕条数少的话,就在文本编辑框中单独选中中文或外文语句,然后进行“文本特效编辑”操作,之后每一条要修改的字幕语句都如此操作。如果要修改的字幕条数很多的话,就把字幕拆分为中外两个单语字幕,分别操作后再合成双语字幕。
所以,我就想,SrtEdit能不能对单条双语字幕的中文或外文语句首尾直接添加任意字符?
另外,srt格式本身也支持一些简单的语法,如果是单语字幕的话,也可以通过“文本特效编辑”来直接添加srt语法代码,单条双语字幕也可以通过先拆分为两个单语字幕文件的方法来添加。
所以,我又想,既然SrtEdit可以用图形模式给字幕语句直接添加一些简单的ass语法代码(字体、字号、颜色等),而srt语法代码又很少,那么是不是也可以用图形模式来给字幕语句添加srt语法代码?
当然,可以肯定,有这种需要的时候肯定不会很多。
2024年09月05日 14点09分 5
您这个需求可以用“批量替换”实现。
2024年09月06日 03点09分
level 1
关于制作字幕轴时的“人体反应时间”设置。
根据我的实践,如果是熟悉的语言的话,听到对白开始或结束时的反应时间有明显的不同,对开始的反应时间要明显大于对结束的反应时间。
就我个人而,如果是英语的话,因为可以对着字幕预判结束时间,所以结束时间几乎不需要设置一个提前量。
所以我想,“人体反应时间”这一项能不能分别设置开始和结束的反应时间?
2024年09月05日 14点09分 6
已按您的建议修改。
2024年09月06日 07点09分
level 5
ywg712 楼主
例:用“批量替换”分别为所选中、外文字幕增加前缀<aaa>及后缀<bbb>。勾选“正则表达式”,“仅在所选行”。
对中文字幕(上一行)勾选启用前两行:
按“替换”按钮得到:
同样对英文字幕(下一行),勾选启用后两行:
按“替换”按钮,得到:
2024年09月06日 03点09分 7
^在正则表达式中表示行首,.$表示行尾。\N为中外文字幕间的换行符(浏览框中用双竖线表示)。按(a)+ 按钮可打开正则表达式生成器及其帮助。
2024年09月06日 03点09分
非常感谢,这样一来就很方便地解决了我的问题,可以不用再像以前一样要先把双语字幕拆分成两个单语字幕文件分别处理了。
2024年09月06日 13点09分
另外,还想请教一下,单条双语字幕,如果不拆分为两个单语字幕文件的话,怎么分别只替换中文或英文语句中标点符号。比如说,如果我想把中文语句中的英文逗号全部删除而不影响英文语句,或者把英文语句中的中文标点替换为英文标点而不影响中文语句。这样的话正则表达式应该怎么写?
2024年09月06日 13点09分
或者在”批量替换“的界面,能不能加入一个选项,只对中文或外文操作?
2024年09月06日 13点09分
level 5
ywg712 楼主
20240906版已发布。解决了您提出的问题。请试用。欢迎指出问题或提出建议。
2024年09月06日 07点09分 8
level 1
真的是太意外了,实在是太感谢作者了。已经用上新版本了,很棒,新增功能还在尝试摸索。
我真的没想到问题这么快就解决了,本来我以为运气好的话,至少也得有好几天作者才能看到我的问题,然后又得有一段时间才出新版本。这么快是真的没想到。
当年SrtEdi一上手我t就觉得特别好用。不过那时也挺遗憾SrtEdit不支持正则表达式,虽然SrtEdit提供了通配符,但毕竟还是弱了一点。新版本能够支持正则表达式真的是太棒了,处理字幕时,正则实在太有用了。
另外,前两天意外看到SrtEdit又更新了,而且从更新日志中看到增加了批量替换的功能,更是喜出望外。说实话,还没下载软件时我就想到了批量替换的好几种用法。
最后,再次对作者表示感激之情。
2024年09月06日 12点09分 9
level 1
好像又遇到一个BUG:
操作系统:WIN7
SrtEdit版本:SrtEdit8.0(x64)_20240906
回隔壁贴时发现的。
自动合成双语字幕,选择人工逐条对齐时,不管是上面的图标还是右键菜单,所有的选项都是灰色的,无法操作。
2024年09月07日 03点09分 10
20241003版已解决了这个问题。
2024年10月03日 13点10分
level 1
说几个我在SrtEdot 6.3.2012.1001遇到的问题,有些新版已经解决,有些还没有,供作者参考。
1、第一行字幕在"替换"时的BUG:
假设字幕文件的第一行有多个需要被替换的字符串:
(1)如果是将此字符串替换为另外的字符串,那么没有问题。
(2)如果是将此字符串用替换的方法删除掉,那么第一行字幕中只会删除第一个满足条件的字符串。
举例:
比如说字幕文件的第一条和第二条的内容都是"hello hello",现在要把字母"o"替换为"asdf",那么4个"o"都会被替换,一切正常。但是,如果是要把字母"o"删掉,那么第二条字幕的2个字母"o"都会被删掉,而第一条字幕的两个字母"o"只会被删掉第一个单词中的字母"o",第二单词中的字母"o"依然保留。
这个问题新版已经不存在了。
2、有时候在文本编辑框用'del'键删除时"del"键会失效,而且可能导致SrtEdit无反应。所以我总是尽量避免用"del"键删除,没找到规律。
从作者在其它贴的回复来看,这个问题应该已经解决了。
3、有时候也不知道做了什么操作导致文本编辑状态变为"改写",即使重新用"Insert"改回插入状态,虽然软件右下角已经显示为“插入状态",但在文本编辑框中输入文字时会发现依然处于改写状态。
因为碰到的次数少,而且往往是在进行了大量其它操作后才发现此问题,所以找不到规律,也无法重现。不知道新版本还会不会碰到这个现象,以后再说吧。
4、对字幕做了修改之后,如果进行搜索重叠字幕的操作,那么存盘按钮,菜单中的保存选项都会变成灰色,无法操作,Ctrl+S也无效。只有再次对字幕实施修改操作后才能再进行存盘操作。
这个问题新版本依然存在。
另外,搜索发现重叠字幕后能不能把受到影响的字幕一并选中,这样方便剪切到字幕的最前面来单独调整。
2024年09月07日 03点09分 12
20241003版已完美地解决了这些问题。
2024年10月03日 13点10分
level 1
关于查找和替换:
查找支持正则表达式,批量替换也支持正则表达式,那么,“替换”能不能也支持正则表达式呢?
还有,查找和替换能不能增加几条历史记录?这样在短时间内就不用每查一次就写一次正则表达式了。
2024年09月07日 13点09分 13
20241003版已增加了历史记录。
2024年10月03日 13点10分
“替换”操作设计为可逐条字幕选择是否替换,故正则表达式查找无多大意义,需整体替换用“批量替换”即可。查找历史记录可以考虑加入(本次升级[20240921]暂无)
2024年09月21日 08点09分
level 1
关于“人工逐条对齐字幕”。
因为新版本的这个功能似乎有点问题,编辑拆分合并选项都是灰色的无法操作,所以还是针对旧版来说一下我的使用体验。
这个功能很好,但是我极少用,因为不太方便。
先说一下我一般是怎么人工合成双语字幕的。
如果文字需要较大量的修改,我是用其它文本编辑软件来一条条的人工合并。
如果文字基本上不需要修改,而且有一条时间轴准确的字幕作为基准的话,我是打开两个SrtEdit,根据需要对两个字幕文件分别进行拆分合并,以使两个字幕文件的字幕条数、断句完全相同,然后就可以很容易地进行合并操作了。
而目前“人工逐条对齐字幕”在使用上我感觉有几个不便之处。
1. 基准字幕无法进行拆分合并编辑操作。
这点我感觉是最大的不便。因为一般是用外文字幕作为时间轴提供者,而中外文断句有时候有很大的不同,为了适应中文表达,有时候需要对外文字幕(基准字幕)也进行拆分合并操作,但目前的“人工逐条对齐字幕”不能对基准字幕进行拆分合并编辑操作。
2. 编辑功能操作起来很不方便。
右键没有剪切复制粘贴菜单,只能双击,选中文字,然后再用快捷键来完成,很不方便。
而且,除了在编辑状态下增加剪切复制粘贴的右键菜单外,最好在非编辑状态下也增加剪切复制粘贴的右键菜单。非编辑状态下,剪切复制就是剪切复制本条字幕文字,粘贴就是覆盖本条字幕文字(比如说这样一来就可以很方便地粘贴到一个空行了)。
3. 没有存盘功能。
中途不存一下盘有点不放心,而且有时候无法在一段连续的时间内一性完成合并操作,尤其是字幕文件很长的情况下。
当然,以上功能都可以通过开两个SrtEdit窗口的方法来实现,但是我觉得“人工逐条对齐字幕”相比于开两个SrtEdit窗口有很大的优点:
界面简洁,两个字幕文件分栏显示,不需要切换窗口。方便集中注意力,鼠标不用再跨过半个屏幕了,眼睛也不用左右晃了晃去了。
在合并双语字幕的时候,我发现这个优点真的很大,但就是因为拆分合并编辑操作不便,所以我一般还是选择开两个SrtEdit窗口。
2024年09月08日 05点09分 14
[20240921]版修复无法操作问题(许多问题都是Delphi新版与旧版属性有改变引起的)。至于双语字幕合成还有待进稍后一步改进。
2024年09月21日 08点09分
1、基准字幕是时间轴标准,如果随意拆分容易引起时间轴混乱。因此不允许拆分合并。建议用时间轴准确的中文或外文作为标准;2、本操作是专门为时间轴对齐设计的,进入编辑状态主要是用光标指出拆分的位置。要对内容编辑应在普通编辑状态下进行。
2024年10月03日 13点10分
3、如果没有完成对齐操作(列表两边行数不相同),退出时会自动保存一个与当前标准字幕文件名相同、后缀名为“~dl"、且与当前标准字幕文件在同一文件夹的文件,该文件记录了当前对齐操作的状态。下次再对当前标准字幕文件进行双语字幕合成操作时,会问你是否接着上次操作。
2024年10月03日 14点10分
20241003版已对编辑拆分合并选项都是灰色的无法操作进行了修正。
2024年10月03日 14点10分
level 1
“风格覆盖代码”操作,还是存在一些问题:
1、对纯中文或纯外文字幕条操作,作用范围分别设置为中文或外文时,句末不会加{\r},在代码后缀手动添加也没用。
这样一来,如果把双条双语先分别添加ASS代码,然后再转换为单条双语时可能会出现问题。
2、单条双语字幕,位置在下的中文或外文字幕,句末不会加{\r}。当然,这不会影响显示效果。不过如果在添加ASS代码后再进行上下位置对调的话(实践中一般不会,但理论上存在),可能会出现问题。
3、单条双语字幕,对位置在上的中文或外文字幕,第一次进行“风格覆盖代码”操作时,会在句末添加{\r},但第二次修改操作时会把句末的{\r}删掉,第三次修改时又会在句末添加{\r}。也就是说如果之前就有ASS代码的话,假如句末有{\r}就会被删掉,无则添加。
另外还有两点提一下:
1、字幕中凡是被成对的大括号{}包含起来的部分,都会被认为是ASS代码处理掉。
根据我的经验,字幕中一般不会出现{},但我也遇到过极其个别的听障字幕用{}来把描述性文字包含起来的。
我不会编程,但这一点我感觉不太好处理,无法兼顾。如果严格按照ASS代码来判断的话,一些手工添加的有错误的代码又不会被处理了,说不定会带来更多的麻烦。
总的来说,也许还是目前这种处理方式能照顾到更多的可能情况。
所以这一点只是提一下,也算是给自己提个醒。如果字幕本身就有{}的话,记得人工预先替换处理一下。
2、另外,我发现"风格覆盖代码"与旧版在处理含srt语法代码的字幕时会有所不同。
6.3版中,如果字幕中含有srt语法代码比如说“<i></i>”之类的,进行“文本特效编辑”操作后会全部被删除,而新版会保留。
我感觉新版这样处理方式虽然可能会导致需要增加一些操作步骤,但是对用户来说,选择更多了。
比如说,有时候像外文字幕中的书名之类需要使用斜体的,可以在操作后再统一替换成ASS代码,比旧版处理起来要方便。
综合起来,感觉还是新版这样处理好一些。
2024年09月09日 03点09分 15
20241003版已解决了1、2、3问题。且不是简单在尾部加{\r},而是根据是否改变了默认风格来决定是否加{\r}
2024年10月03日 14点10分
level 1
关于“播放影片”的功能。
播放蓝光原盘一大堆文件夹的那种格式时,从SrtEdit播放影片,只能通过打开m2ts文件的方式播放,如果影片的主视频是单个m2ts文件还好说,如果是多个m2ts文件的话,就只能先转换为MKV等其它格式再播放了。
MPC-HC本身支持直接打开BDMV文件夹下的index.bdmv,或MovieObject.bdmv,或BDMV\PLAYLIST下的mpls文件来播放蓝光电影,还可以通过“打开DVD/BD”或“打开目录"两项来直接打开蓝光原盘的文件夹播放电影。
刚看了一下,SrtEdit自带的MPC-HC同样支持这些功能,那么,在使用SrtEdit的”播放影片“功能时,能不能像直接使用MPC-HC一样,直接播放蓝光原盘文件夹,而不用自己去找主视频的m2ts文件?
2024年09月09日 11点09分 16
20241003版重新编译了mpc-hc,增加了自动粘贴文件名功能。因此已能自动打开字幕,无需手动粘贴字幕文件名了。
2024年10月03日 14点10分
[20240921]版已增加了打开DVD/BD光盘功能,在“文件”-“导入”-“加载DVD/BD”。由于mpc-hc命令行方式打开DVD不能加载外挂字幕,需要手动打开字幕。不过只需按Ctrl+V即可将当前字幕文件名粘贴到对话框,还是比较方便的。
2024年09月21日 08点09分
另外,我手头的BD光盘ISO文件较少,您可以多试试帮助测试一下。有问题请反馈。
2024年09月21日 09点09分
level 1
文本编辑框中文字复制粘贴的BUG报告:
操作系统:WIN7
SrtEdit8.0(x64)_20240906
BUG表现现象如下:
1、在文本编辑框中复制一段文字,切换到另一条字幕,即光标焦点离开原来的文本编辑框之后,则无法正常粘贴已经复制的文字。
不过这时可以在其它软件比如说记事本中正常粘贴,但是,在另一个SrtEdit8中依然无法正常粘贴。
2、在某条字幕的文本编辑框中复制一段文字,不要做切换到另一条字幕的操作,那么在本条字幕的文本编辑框是可以正常复制的,而且只要正常复制一次,就可以在其它字幕条中正常粘贴,也可以在另一个SrtEdit8中正常粘贴。
3、在文本编辑框中复制一段文字,如果保证光标焦点不离开本条字幕的文本编辑框,那么是可以切换到另一个“已经”打开的SrtEdit8中正常粘贴的,而且如果在另一个SrtEdit8中粘贴过一次的话,之后粘贴功能同样可以恢复正常。
4、复现BUG操作时,如果复制的是某条字幕的全部文字,则在粘贴时会粘贴一个换行或者回车符,当然文件没有被粘贴。
另外我还在无意中发现,打开NirSoft的Clipboardic(一个增强的剪贴板小程序,可以保存剪贴板中的多条复制内容)后,再在SrtEdit8中进行复制粘贴操作,SrtEdit8的复制粘贴BUG就消失了,一切都正常了。退出Clipboardic后,BUG又回来了。
2024年09月12日 10点09分 17
[20240921]版应该已修正这个问题。这个问题较奇怪,有时会出现,有时又正常。主要还是新版Delphi控件属性与旧版有异造成的。
2024年09月21日 08点09分
1 2 3 尾页