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

 更新时间:2023年11月23日 09:37:14   作者:mYlEaVeiSmVp  
本文主要介绍了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格式时间轴

转换后ass格式时间轴

 到此这篇关于Python实现视频字幕时间轴格式转换的示例的文章就介绍到这了,更多相关Python视频字幕时间轴转换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 使用python查找替换PowerPoint演示文稿中的文本

    使用python查找替换PowerPoint演示文稿中的文本

    演示文稿已成为商务会议、学术报告和教育培训中不可或缺的一部分,而PowerPoint演示文稿作为行业标准工具,更是承载着无数创意与信息的载体,本文将介绍如何使用Python来精确查找并替换PowerPoint演示文稿中的文本,需要的朋友可以参考下
    2024-07-07
  • 在Flask使用TensorFlow的几个常见错误及解决

    在Flask使用TensorFlow的几个常见错误及解决

    这篇文章主要介绍了在Flask使用TensorFlow的几个常见错误及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • 使用Python的音乐播放器GUI的实现

    使用Python的音乐播放器GUI的实现

    本文主要介绍了使用Python的音乐播放器GUI的实现,可以让您快速轻松地管理和收听所有音乐文件,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • 使用PyWeChatSpy自动回复微信拍一拍功能的实现代码

    使用PyWeChatSpy自动回复微信拍一拍功能的实现代码

    这篇文章主要介绍了用PyWeChatSpy自动回复微信拍一拍功能,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • python3+pyqt5+itchat微信定时发送消息的方法

    python3+pyqt5+itchat微信定时发送消息的方法

    今天小编就为大家分享一篇python3+pyqt5+itchat微信定时发送消息的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02
  • 浅谈Pandas dataframe数据处理方法的速度比较

    浅谈Pandas dataframe数据处理方法的速度比较

    这篇文章主要介绍了浅谈Pandas dataframe数据处理方法的速度比较,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • python实现在线翻译功能

    python实现在线翻译功能

    这篇文章主要为大家详细介绍了python实现在线翻译功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • PyOD进行异常值检测使用实例

    PyOD进行异常值检测使用实例

    异常值检测各个领域的关键任务之一,PyOD是Python Outlier Detection的缩写,可以简化多变量数据集中识别异常值的过程,在本文中,我们将介绍PyOD包,并通过实际给出详细的代码示例
    2024-02-02
  • python计算机视觉OpenCV库实现实时摄像头人脸检测示例

    python计算机视觉OpenCV库实现实时摄像头人脸检测示例

    这篇文章主要为大家介绍了python使用OpenCV实现实时摄像头人脸检测的示例过程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-10-10
  • Tensorflow2.10实现图像分割任务示例详解

    Tensorflow2.10实现图像分割任务示例详解

    这篇文章主要为大家介绍了Tensorflow2.10实现图像分割任务示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01

最新评论