vtt转srt-python-不依赖库-内镶

这篇博客介绍如何使用Python将vtt字幕文件转换为srt格式,特别是处理分段的vtt字幕,包括去除头部信息,补充编号和调整时间轴格式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目标

在下载u3m8有时会通过

#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="--",DEFAULT=YES,AUTOSELECT=YES,LANGUAGE="--",URI="---"

来加入vtt格式字幕,而且其可能是分段的。为了将字幕格式转换为更通用的版本(如srt),需要将其做一些处理并拼接。
主要处理如下:

  1. 去掉文件头部的vtt相关信息(可能不止一行)
  2. 如果没有标识顺序的 编号,补上
  3. 识别时间轴,将’.‘替换为’,’

代码

一个非常麻烦的代码如下。

def vtt2srt(vtt_str: str, s_num: int = 0): # 传入vtt的文本内容和上一个字幕片段的最大序号(默认为0,即从1开始编号)
    x = vtt_str
    if x[0:6] == 'WEBVTT': # 去除文件头信息
        x = x.split('\n\n')
        x.pop(0)
        x = ''.join([i + '\n\n' for i in x]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值