【python】实现将json字幕转srt,并将繁体中文翻译为简体中文
背景
前两天剪辑找视频资源的时候下载的一个视频没有中文字幕,找到的字幕文件只有json的繁体中文字幕文件,个人使用的PotPlayer播放器不支持json字幕,所以我决定给它转换成简体中文的srt格式字幕文件,希望对大家有所帮助。
实现过程
json转srt
首先我们需要将json文件改变其中的编码规则信息转为srt文件。搜了一圈找到
json字幕转换为srt字幕python。
创建python文件
创建一个py后缀的文件并将代码复制进去
将json文件复制到同一文件夹下
比如说我们创建的python文件在桌面,那么只需要将json文件放到桌面即可
错误1
运行,出现如下错误
看了下json文件
发现14行循环域错误,我们只需要在 datas后面加上[‘body’] 即可
for data in datas:>>>>for data in datas['body']
运行成功
再次编译,成功运行,生成srt文件
查看srt文件,没有问题
代码(json_to_srt)
import json
import math
import os
file = '' # 这个变量用来保存数据
i = 1
for doc in os.listdir(): # 遍历当前文件夹的所有文件
if (doc[-4:] == 'json'): # 若是json文件则进行处理
name = doc[:-5] # 提取文件名
# 将此处文件位置进行修改,加上utf-8是为了避免处理中文时报错
with open(doc, encoding='utf-8') as f:
datas = json.load(f) # 加载文件数据
f.close()
for data in datas['body']:
start = data['from'] # 获取开始时间
stop = data['to'] # 获取结束时间
content = data['content'] # 获取字幕内容
file += '{}\n'.format(i) # 加入序号
hour = math.floor(start) // 3600
minute = (math
摘抄自网络,便于检索查找。