首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >零代码编程:用ChatGPT将vtt转换成LRC和srt格式的字幕

零代码编程:用ChatGPT将vtt转换成LRC和srt格式的字幕

作者头像
AIGC部落
发布2024-06-24 15:32:41
发布2024-06-24 15:32:41
1.4K0
举报
文章被收录于专栏:Dance with GenAIDance with GenAI

从YouTube下载视频的字幕格式是VTT的。要把VTT字幕文件转换成SRT或LRC格式,可以使用Python的webvtt库。

安装命令: pip install webvtt-py

WebVTT字幕格式与SRT字幕格式主要区别在于时间格式的区分。

下面是一个WebVTT格式的字幕文件

00:00:20.000 --> 00:00:24.400

En réponse à l'augmentation dramatique

de la criminalité dans certains quartiers,

对应的SRT字幕格式则为

00:00:20,000 --> 00:00:24,400

En réponse à l'augmentation dramatique

de la criminalité dans certains quartiers,

安装完成后,在ChatGPT对话框中输入提示词:

你是一个Python编程专家,现在要完成一个将VTT格式的字幕文件转换成SRT格式和LRC的字幕文件,具体步骤如下:

打开文件夹:D:\lexfridman-podcast\vtt

读取文件夹中的vtt后缀文件,然后转换成SRT格式和LRC格式;

注意:每一步都要输出相关信息

ChatGPT给出的源代码:

import os

import webvtt

from datetime import datetime

def convert_vtt_to_srt(vtt_filename, srt_filename):

print(f"正在将 {vtt_filename} 转换为 {srt_filename}")

vtt = webvtt.read(vtt_filename)

with open(srt_filename, 'w', encoding='utf-8') as f:

for i, caption in enumerate(vtt):

f.write(str(i+1) + '\n')

f.write(caption.start.replace('.', ',') + ' --> ' + caption.end.replace('.', ',') + '\n')

f.write(caption.text + '\n\n')

def convert_vtt_to_lrc(vtt_filename, lrc_filename):

print(f"正在将 {vtt_filename} 转换为 {lrc_filename}")

vtt = webvtt.read(vtt_filename)

with open(lrc_filename, 'w', encoding='utf-8') as f:

for caption in vtt:

start = datetime.strptime(caption.start, '%H:%M:%S.%f')

f.write(f"[{start.minute}:{start.second:02}.{start.microsecond//10000}]{caption.text}\n")

# 打开文件夹

folder = 'D:\\lexfridman-podcast\\vtt'

print(f"打开文件夹: {folder}")

# 读取文件夹中的vtt后缀文件

for filename in os.listdir(folder):

if filename.endswith('.vtt'):

base_filename = os.path.splitext(filename)[0]

vtt_filename = os.path.join(folder, filename)

srt_filename = os.path.join(folder, base_filename + '.srt')

lrc_filename = os.path.join(folder, base_filename + '.lrc')

convert_vtt_to_srt(vtt_filename, srt_filename)

convert_vtt_to_lrc(vtt_filename, lrc_filename)

运行程序,全部成功转换:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-10-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Dance with GenAI 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档