工欲善其事::
srt字幕格式,每个字幕段有四部分构成:
- 字幕序号
- 字幕显示的起始时间
- 字幕内容(可多行)
- 空白行(表示本字幕段的结束)
vtt字幕格式:
WEBVTT Kind: captions Language: en 00:00:04.850 --> 00:00:07.410 Okay. Hi everyone. 00:00:07.410 --> 00:00:11.430 Let's get started [NOISE] Okay.
srt字幕格式:
1 00:00:04.430 --> 00:00:07.410 Okay. Hello everyone. 2 00:00:07.410 --> 00:00:11.265 [LAUGHTER] Okay we should get started.
必先利其器:
为了兼容更多的播放器,需注意2点:
1)字幕序号不能少
2)第一行需为字幕序号开头
import glob base = r'E:\BaiduNetdiskDownload\cs224n' #存放vtt的文件夹路径,文件编码默认为uft-8 for name in glob.glob(base + "/*.vtt"): nw_name = name.replace('.vtt', '.srt') idx = 1 # 字幕序号 with open(nw_name, 'w', encoding='utf-8') as fout: for line in open(name, encoding='utf-8'): if '-->' in line: fout.write("%d\n" % idx) idx += 1 line = line.replace('.', ',') #这行不是必须的,srt也能识别'.' if idx > 1: # 跳过header部分 fout.write(line)
经测试,上面代码生成的srt字幕兼容Potplayer、影音、影音先锋等播放器
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/208019.html原文链接:https://javaforall.net
