在asciiwwdc下在的字幕都是vtt格式的痘系,我本地播放的時候播放器支持srt格式字幕主胧。網(wǎng)上有一些自動轉(zhuǎn)的工具拘哨,但是一個個文件拖太麻煩了。早上就順手寫了一個腳本 .
srt和vtt文件有以下幾點(diǎn)不同
- vtt文件第一行是 WEBVTT FILE 然后跟著一個空行
- srt用,分開秒和毫秒, vtt用.
- vtt不支持html標(biāo)記(實(shí)測)
腳本
支持輸入文件夾赶舆,批量替換哑姚。也可以單個文件
import os
import sys
def get_file_name(dir, file_extension):
f_list = os.listdir(dir)
result_list = []
# print f_list
for file_name in f_list:
if os.path.splitext(file_name)[1] == file_extension:
result_list.append(os.path.join(dir, file_name))
print file_name
return result_list
def change_vtt_to_srt(file_name):
with open(file_name, 'r') as input_file:
f_name_comp = os.path.splitext(file_name)[0]
with open(f_name_comp + '.srt', 'w') as output_file:
for line in input_file:
if line[:6] != 'WEBVTT':
output_file.write(line.replace('.', ','))
if __name__ == '__main__':
args = sys.argv;
print(args)
if os.path.isdir(args[1]):
file_list = get_file_name(args[1], ".vtt")
for file in file_list:
change_vtt_to_srt(file)
elif os.path.isfile(args[1]):
change_vtt_to_srt(args[1])
else:
print("arg[0] should be file name or dir");