Python实现将一段话txt生成字幕srt文件
虚坏叔叔 人气:0一、为什么要将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()
加载全部内容