脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|shell|

服务器之家 - 脚本之家 - Python - Python实现将一段话txt生成字幕srt文件

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

2023-06-06 14:33虚坏叔叔 Python

这篇文章主要为大家详细介绍了如何利用Python实现将一段话txt生成字幕srt文件,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下

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

1.1方便到剪辑软件剪辑

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

1.2自动生成视频的字幕

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

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

二、操作流程

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

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

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

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

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

文件如下截图:

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

最后通过脚本

生成一个z.srt文件

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

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

三、实现代码如下

代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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()

到此这篇关于Python实现将一段话txt生成字幕srt文件的文章就介绍到这了,更多相关Python生成字幕srt文件内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/biggbang/article/details/128875350

延伸 · 阅读

精彩推荐