Python脚本实现SRT字幕时间轴批量偏移

山海之间
山海之间
发布时间:2026-10-13 | 3人浏览过
原创

本文介绍如何使用Python脚本批量修改SRT字幕文件的时间轴。通过读取SRT文件,解析时间戳,利用datetime模块进行时间偏移计算,并重新生成字幕内容。代码示例展示了具体的实现逻辑,适用于需要整体调整字幕播放时间的场景。

Python修改SRT字幕时间轴概述

本文详细讲解了利用Python语言对SRT字幕文件的时间轴进行批量修改的方法。文中提供了详细的代码示例,内容清晰易懂,对于从事字幕处理或相关工作的开发者具有较高的参考价值,建议有需要的读者仔细阅读并参考使用。

具体的实现代码如下所示:

SRT时间轴批量偏移代码实现


# -*- coding: utf-8 -*-
# @时间 : 2020-01-19 02:53
# @作者 : 陈祥安
# @文件名 : run.py.py
# @公众号: Python学习开发

import os
import datetime

temp = os.path.dirname(__file__)
srt_file_path = os.path.join(temp, "15.srt")


def read_srt_file_gen():
  with open(srt_file_path, "r") as fs:
    for data in fs.readlines():
      yield data


def read_srt_file():
  with open(srt_file_path, "r") as fs:
    data = fs.read()
  return data


def start():
  new_data_str = read_srt_file()
  for item in read_srt_file_gen():
    if "--> " in item:
      time_arr = item.split('--> ')
      start_time = time_arr[0].replace(" ", "")
      end_time = time_arr[1].replace("\n", "")
      _new_start_time = datetime.datetime.strptime(start_time + "0", "%H:%M:%S,%f") - datetime.timedelta(
        seconds=1)
      _new_end_time = datetime.datetime.strptime(end_time + "0", "%H:%M:%S,%f") - datetime.timedelta(
        seconds=1)
      new_start_time = datetime.datetime.strftime(_new_start_time, "%H:%M:%S,%f")[:-3]
      new_end_time = datetime.datetime.strftime(_new_end_time, "%H:%M:%S,%f")[:-3]
      new_data_str = new_data_str.replace(start_time, new_start_time).replace(end_time, new_end_time)
  return new_data_str


if __name__ == '__main__':
  print(start())

以上就是本文介绍的全部内容,希望能为各位的学习和工作提供实际的帮助。如果内容对您有帮助,欢迎继续支持本站获取更多技术资源。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表