Python实现将一段话txt生成字幕srt文件

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

Python实现将一段话txt生成字幕srt文件

虚坏叔叔   2023-03-20 我要评论

一、为什么要将txt转换成字幕

1.1方便到剪辑软件剪辑

有时获取到一段文本,想要直接拖放到剪映软件中剪辑,这个时候,将文本生成srt文件,就可以在剪映软件中生成对应的片段,只需要拖动来适应画面就可以。

1.2自动生成视频的字幕

通过爬虫获取到一段文本后,可以提取文本中的关键词,找到合适的图片,根据文本生成音频。音频的时长可以计算出来。根据时长生成字幕。

这样就完成了 根据一个文本,生成视频的过程。

二、操作流程

我就用一段Python脚本,教大家来实现一个字幕文件的快速的生成。方便大家在制作字幕的时候,能够快速的生成一个字幕的文件。我这里生成的是srt文件。

首先准备一个有文本的TXT,文本的格式如下图所示:

你要说的每一句话,写上去然后换一个行。记得第一行留空。

如果你是一段文字,可以用Python的snownlp库分局分行。

文件如下截图:

最后通过脚本

生成一个z.srt文件

就可以直接拖到剪辑软件剪辑

三、实现代码如下

代码如下:

f2= open(r"D:\自动化\z.srt",'w',encoding='utf-8-sig')
#返回一个文件对象
line=f1.readline()#调用文件的readline()方法
no=1
start_time = datetime.datetime.strptime('00:00:00','%H:%M:%S')
end_time = datetime.datetime.strptime('00:00:00','%H:%M:%S')
while line:
    line= f1.readline()
    start_time=start_time+datetime.timedelta(seconds=4)
    end_time=start_time+ datetime.timedelta(seconds=8)
    str_start_time = datetime.datetime.strftime(start_time,'%H:%M:%S')
    str_end_time  =datetime.datetime.strftime(end_time,'%H:%M:%S')
    f2.write(str(no)+'\n')
    f2.write(str_start_time+",433"+"-->"+str_end_time+",433"+'\n')
    f2.write(line+'\n')
    no=no+1
f1.close()
f2.close()

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们