【python】实现将json字幕转srt,并将繁体中文翻译为简体中文

背景

前两天剪辑找视频资源的时候下载的一个视频没有中文字幕,找到的字幕文件只有json的繁体中文字幕文件,个人使用的PotPlayer播放器不支持json字幕,所以我决定给它转换成简体中文的srt格式字幕文件,希望对大家有所帮助。

实现过程

json转srt

首先我们需要将json文件改变其中的编码规则信息转为srt文件。搜了一圈找到
json字幕转换为srt字幕python

创建python文件

创建一个py后缀的文件并将代码复制进去

将json文件复制到同一文件夹下

比如说我们创建的python文件在桌面,那么只需要将json文件放到桌面即可

错误1

运行,出现如下错误json转srt出错
看了下json文件
在这里插入图片描述

发现14行循环域错误,我们只需要在 datas后面加上[‘body’] 即可

for data in datas:>>>>for data in datas['body']

运行成功

再次编译,成功运行,生成srt文件

转化成功
查看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
posted @ 2024-10-24 14:31  CharyGao  阅读(32)  评论(0编辑  收藏  举报