自动化字幕制作工程

date
Mar 16, 2024
slug
auto-subtitles
status
Published
tags
Website
summary
记录一下字幕制作自动化的个人流程
type
Post
网址
URL
记录一下字幕制作自动化的个人流程,这里的字幕是相对比较复杂的场景,比如下面这种情况:
notion image
说是自动化,其实用起来也是相当麻烦,后续有需求再看看怎么优化吧;

前期准备

需要准备的材料:

1、一张字幕框底图:

notion image

2、带角色名的txt文本

💡
每一行构成: 角色名:台本内容(注意分割符“:”,后续python脚本中需要指定对应的分隔符,另外每一行的字数不宜过多,保证能全部显示在字幕框中)
notion image

3、不带角色名的txt文本

💡
注意这里的每一行和上面txt文本中每一行台本内容要对应上 这个文本也可以在后续的脚本中自动生成
notion image

4、音频文件

💡
尽量使用纯人声的音频文件,可以提高后续自动打轴的识别精度;

需要使用的工具:

1、Arctime Pro

💡
个人非常推荐的字幕打轴软件,付费,但是也不贵,15分钟的音频自动打轴,需要大概5块钱;支持语音识别+自动打轴,对于没有台本的情况非常实用;

2、python

💡
自动化工程主体部分是基于python脚本,需要了解python安装和运行,具体脚本代码会给出;

制作流程

制作的基本思路是:1、先使用Arctime Pro进行打轴,得到含有字幕时间序列的XML文件;2、使用python的PIL库进行图片处理,将角色名和台本内容叠到字幕框图上,得到特定样式的字幕PNG文件;3、将XML序列中的字幕链接到python生成的png文件;

制作字幕时间序列XML文件

notion image
自动识别出来的轴还是需要自己手动微调,调整完成后导出XML+PNG
notion image
现在得到了带有时间序列的字幕轴XML文件;
 

批量生成带有角色名和台词的PNG文件

💡
这一步直接使用编写好的脚本,修改对应的参数即可
修改参数后,执行
得到叠加了角色名和台词的PNG文件;
notion image
 

链接PNG图片到XML序列中

💡
这一步非常简单,因为在脚本批量生成时图片的命名已经修改为xml中指定的命名规则,将生成的png文件全部复制到xml文件所在的文件夹,全部替换即可;
notion image
 
在使用时,将xml文件拖入pr中,就可以获得打好轴的特定样式字幕!
notion image
 

© chen_yan 2024 - 2025