Python实现视频字幕时间轴格式转换

这篇具有很好参考价值的文章主要介绍了Python实现视频字幕时间轴格式转换。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

自己喜欢收藏电影,有时网上能找到的中文字幕文件都不满足自己电影版本。在自己下载的压制版电影中已内封非中文srt字幕时,可以选择自己将srt的时间轴转为ass并替换ass中的时间轴。自己在频繁
复制粘贴改格式的时候想起可以用Python代码完成转换这一操作,借助ChatGPT并自己稍作修改后用代码实现了。自己测试可用。

没指定srt文件的路径,使用前首先需要将srt后缀先改为txt文本格式,代码默认输入为“input.txt”,输出“output.txt”。运行时待转换的txt文件需要和py文件在同一目录内。
 

import re

def convert_timecode(line):
    if "-->" in line:
        # Split the line into two parts using the arrow
        parts = line.strip().split(" --> ")

        # Process each part separately
        new_parts = []
        for i, part in enumerate(parts):
            if i == 0:
                # For the first timecode, insert a comma between the first two characters
                part = part[0] + "," + part[1:]
            else:
                # For the second timecode, remove the first character
                part = part[1:]

            # Remove the last digit from the milliseconds part
            hours, 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 dot
            new_part = f"{hours}:{minutes}:{seconds}.{milliseconds}"
            new_parts.append(new_part)

        # Join the parts back together using a comma
        new_line = ",".join(new_parts)
        return new_line + "\n"
    else:
        # If the line doesn't contain an arrow, return it unchanged
        return 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', encoding='utf-8') as infile, open('output.txt', 'w', encoding='utf-8') as outfile:
    for line in infile:
        outfile.write(convert_timecode(line))

不过还是需要手动对照翻译复制粘贴进行调轴,就是比以前手动改时间轴格式方便了些。不知道有没有一键将srt直接按照格式转为ass的软件,甚至实现普通字幕改特效字幕。

转换前srt格式时间轴

字幕文件时间轴格式,Python,音视频

转换后ass格式时间轴

字幕文件时间轴格式,Python,音视频文章来源地址https://www.toymoban.com/news/detail-817038.html

到了这里,关于Python实现视频字幕时间轴格式转换的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包