四川网站建设和优化,rs232国产,设计制作网站收费,天津企业网站模板建站哪家好自己喜欢收藏电影#xff0c;有时网上能找到的中文字幕文件都不满足自己电影版本。在自己下载的压制版电影中已内封非中文srt字幕时#xff0c;可以选择自己将srt的时间轴转为ass并替换ass中的时间轴。自己在频繁 复制粘贴改格式的时候想起可以用Python代码完成转换这一操作有时网上能找到的中文字幕文件都不满足自己电影版本。在自己下载的压制版电影中已内封非中文srt字幕时可以选择自己将srt的时间轴转为ass并替换ass中的时间轴。自己在频繁 复制粘贴改格式的时候想起可以用Python代码完成转换这一操作借助ChatGPT并自己稍作修改后用代码实现了。自己测试可用。 没指定srt文件的路径使用前首先需要将srt后缀先改为txt文本格式代码默认输入为“input.txt”输出“output.txt”。运行时待转换的txt文件需要和py文件在同一目录内。
import redef convert_timecode(line):if -- in line:# Split the line into two parts using the arrowparts line.strip().split( -- )# Process each part separatelynew_parts []for i, part in enumerate(parts):if i 0:# For the first timecode, insert a comma between the first two characterspart part[0] , part[1:]else:# For the second timecode, remove the first characterpart part[1:]# Remove the last digit from the milliseconds parthours, minutes, seconds_milliseconds part.split(:)seconds, milliseconds seconds_milliseconds.split(,)milliseconds milliseconds[:-1] # Remove the last digit# Replace the last colon before the milliseconds part with a dotnew_part f{hours}:{minutes}:{seconds}.{milliseconds}new_parts.append(new_part)# Join the parts back together using a commanew_line ,.join(new_parts)return new_line \nelse:# If the line doesnt contain an arrow, return it unchangedreturn line# Replace input.txt with the name of your input file, and output.txt with the name of your output file.
with open(input.txt, r, encodingutf-8) as infile, open(output.txt, w, encodingutf-8) as outfile:for line in infile:outfile.write(convert_timecode(line))
不过还是需要手动对照翻译复制粘贴进行调轴就是比以前手动改时间轴格式方便了些。不知道有没有一键将srt直接按照格式转为ass的软件甚至实现普通字幕改特效字幕。
转换前srt格式时间轴 转换后ass格式时间轴