Rhyt2m 首先,咱承认这个文档没什么卵用。大概惟一的用处就是水个贴。 写这篇文档的目的是备份一个处理思路。咱本来写了个脚本程序来处理这个繁琐的工作,但是由于误删/误格式化这类原因…反正是没了。 最后的效果详见咱在B站投稿的视频。 这篇文档的作用是使用WWF的log做成srt字幕文档插入Replaymod渲染出来的视频中。 阅读本文档所需的计算机水平:通过高中计算机学业水平考试。
Rhyt2m WWF产生的log是这样的。截取需要的部分到新建文档中。 注意,如果检查点88的用时部分缺失,请手动添加。 然后不需要的部分删掉,用正则表达式替换掉。 文本编辑器使用了VSCode。 【[........]】→【】 删掉log的时间码; 【[main/INFO]: [CHAT]】→【】 删掉信息头; 【.*感受到了动能\n】→【】删掉玩家死亡信息; 【.*从高处摔了下来\n】→【】删掉玩家死亡信息; 【.*game\n】→【】删掉玩家加入或者退出游戏的信息; 【<.*>.*\n】→【】删掉玩家发言信息。 检查一遍没有多余的信息之后进行下一步处理。 现在的状态应该是这样的。 建议保存一个副本。 然后将用时部分处理一下以便接下来的处理。 嗯,大概就是这种效果。数字之间间隔要大一些。 然后保存文件,用Excel打开这个文件。
Rhyt2m Excel导入切割线如图所示。刚才设置长空格的目的就是不要把两位数字掰开。 导入后把三列(BCD列)数字的单元格格式设置为“两位数字” 然后经过插入整列/填充操作后,最后的效果是这样的(0.49秒用问号的原因后面会讲): 把这一坨复制到文本编辑器里面去掉空格,就获得了每行字幕所需的时间(选中的列)。 注意先把放时间码的“G列”单元格文字格式设置为“hh:mm:ss.000”。
Rhyt2m 再来了解一下SubRip文字字幕(文件后缀.srt)的大概格式。想要深入了解的话…压过动画的大神肯定比咱清楚,可以去请教他们。 接下来回到Excel中,在表中插入如下几行(“*”号的作用是方便后续的替换): 注意,D列的“ --> ”两端各有一个空格; A列以“起始1步进1”填充整形数; C列(这行字幕的开始时间)和E列(这行字幕的结束时间)请留空,设置单元格格式为“hh:mm:ss.000”; 然后接下来就是添加时间轴了。 在图中C1列“【WWR2020】 计时开始”那一行填充数值“00:00:00.000”; C2的值为“=C1+N2”(即检查点1字幕开始的时间为通过检查点1的时间),填充整列; E1的值为“=C2”(即这行字幕的结束时间=下一行字幕的开始时间),填充整列。 最后的效果如下图所示。
Rhyt2m 新建一个srt字幕文件。复制A-L列到这个文件中。 效果是这样的。 进行如下操作: 将Table空格替换掉; 使用正则替换将*换成\n(换行符)【\*】→【\n】; 配合srt文件的时间戳将“ . ”换成“ , ”,将用时中的“ ? ”换成“ . ”。 替换完成后就是这样的效果。 接下来就是将字幕使用Aegisub这类东西批量调整时间轴了。关于批量调整时间轴请参考Aegisub的文档。关于压制字幕和Replaymod渲染请参考相关文档。