mac中导出b剪字幕
2023-09-14 09:06:34 时间
# -*- coding: utf-8 -*-
# @Time : 2022/12/7 10:18 上午
# @Author : chenxiangan
# @File : gen_title.py
# @Software: PyCharm
import glob
import json
import os
import shutil
import time
name_id_dict = {}
def gen_info_dict():
with open("/Users/chennan/Movies/Bcut Drafts/draftInfo.json", "r") as fs:
data = json.loads(fs.read())
draftInfos = data.get("draftInfos")
for each in draftInfos:
name = each.get("name")
id = each.get("id")
name_id_dict[name] = id
def read_srt_json(id_str):
path = f"/Users/chennan/Movies/Bcut Drafts/{id_str}"
json_list = glob.glob(f"{path}/*.json")
json_list = sorted(json_list, key=lambda file: os.path.getmtime(os.path.join(path, file)),reverse=True)
content_list = []
srcPath = ""
for each_item in json_list:
with open(each_item, "r") as fs:
track_list = json.loads(fs.read()).get("tracks", [])
for each_track in track_list:
trackIndex = each_track.get("trackIndex")
clips = each_track.get("clips")
if trackIndex == 1:
for clip in clips:
content = clip.get("AssetInfo").get("content")
content_list.append(content)
elif trackIndex == 2:
clip = clips[0]
AssetInfo = clip.get("AssetInfo")
srcPath = AssetInfo.get("srcPath").replace(".mp4", ".txt")
if len(content_list) > 0:
break
full_srt = ("\n".join(content_list))
if full_srt:
shutil.rmtree(path)
return srcPath, full_srt
def save_src_file(path, text):
with open(path, "w") as fs:
fs.write(text)
if __name__ == '__main__':
file_name = "2"
gen_info_dict()
_id = name_id_dict[file_name]
print("file_id",_id)
sr_path, result = read_srt_json(_id)
print("result",result)
print("sr_path",sr_path)
for i in range(5):
try:
save_src_file(sr_path, result)
except FileNotFoundError as e:
time.sleep(1)
其中file_name表示的是工程的名称。
相关文章
- phpexcel 导出excel无法打开,提示文件格式或文件名无效,文件损毁,解决办法
- 【AIX 命令学习】导入,导出一个卷组
- 数据库数据导入导出系列之五 C#实现动态生成Word(转)
- Oracle导出表(即DMP文件)的两种方法
- 【Ireport】利用Ireport5.2的table组件迅速制作表格导出pdf
- 【已解决】unity4.2.0f4 导出Android工程报错:Error building Player: ArgumentException: Illegal characters in path. [unity导出android工程 报错,路径含有非法字符]
- mongodb 备份 还原 导出 导入
- JAVA导出数据到excel中大数据量的解决方法
- thinkphp6: 用phpspreadsheet导出数据到excel (php 8.1.1 / thinkphp v6.0.10LTS / phpspreadsheet 1.21.0 )
- Oracle数据库表结构导出
- Vue项目使用file-saver将html转word文件、把html内容下载保存导出到本地生成doc文件包括图片:前端下载利器FileSaver
- 【异常】使用若依ExcelUtil导出Excel异常This archive contains unclosed entries.
- Android微信数据导出
- 038:vue+openlayers导出 image 形式地图(示例代码)
- 猿创征文|【云原生】Docker小工具:runlike与whaler(打印容器的启动命令与导出镜像的dockerfile)
- SSM中的静态资源导出问题
- 前端必备技能知识:JS导出Blob流文件为Excel表格、Vue.js使用Blob的方式实现excel表格的下载(流文件下载)
- SpringBoot中使用Easyexcel实现Excel导入导出功能(二)
- 【长篇博文】Docker学习笔记(四):镜像的分层、打包、双向绑定、导入导出、Dockerfile的构建、部署与发布
- 【visio使用技巧】图片导出pdf时去掉多余空白