【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 @   CharyGao  阅读(211)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
历史上的今天:
2022-10-24 idea Tools->Generate JavaDoc
2022-10-24 oracle 连接池 查看
2022-10-24 Spring的JdbcTemplate自动关闭连接
2015-10-24 [No000030]程序员节发点别的:中国教育整个把人脑子搞坏了-易中天
2015-10-24 [No00002F]3步,教你如何分解需求
2015-10-24 [No00002E]关于大数据,你不知道的6个迷思
2015-10-24 [No00002D] “大学生还不如农民工”背后的“身份教育”困境
点击右上角即可分享
微信分享提示