python 批量替换srt文本_VTT批量转SRT(Python脚本)

在asciiwwdc下在的字幕都是vtt格式的,我本地播放的时候播放器支持srt格式字幕。网上有一些自动转的工具,但是一个个文件拖太麻烦了。早上就顺手写了一个脚本 .

srt和vtt文件有以下几点不同

vtt文件第一行是 WEBVTT FILE 然后跟着一个空行

srt用,分开秒和毫秒, vtt用.

vtt不支持html标记(实测)

脚本

支持输入文件夹,批量替换。也可以单个文件

import os

import sys

def get_file_name(dir, file_extension):

f_list = os.listdir(dir)

result_list = []

# print f_list

for file_name in f_list:

if os.path.splitext(file_name)[1] == file_extension:

result_list.append(os.path.join(dir, file_name))

print file_name

return result_list

def change_vtt_to_srt(file_name):

with open(file_name, 'r') as input_file:

f_name_comp = os.path.splitext(file_name)[0]

with open(f_name_comp + '.srt', 'w') as output_file:

for line in input_file:

if line[:6] != 'WEBVTT':

output_file.write(line.replace('.', ','))

if __name__ == '__main__':

args = sys.argv;

print(args)

if os.path.isdir(args[1]):

file_list = get_file_name(args[1], ".vtt")

for file in file_list:

change_vtt_to_srt(file)

elif os.path.isfile(args[1]):

change_vtt_to_srt(args[1])

else:

print("arg[0] should be file name or dir");

要将Python中的FFmpeg将VTT文件换为SRT文件,可以使用以下代码: ```python import os import subprocess def convert_vtt_to_srt(vtt_file_path, srt_file_path): # 调用FFmpeg命令行工具将VTT文件换为SRT文件 cmdLine = f'ffmpeg -i {vtt_file_path} {srt_file_path}' subprocess.call(cmdLine, shell=True) # 指定VTT文件路径和SRT文件路径 vtt_file_path = 'input.vtt' srt_file_path = 'output.srt' # 调用换函数 convert_vtt_to_srt(vtt_file_path, srt_file_path) ``` 在上述代码中,首先定义了一个`convert_vtt_to_srt`函数,该函数接受VTT文件路径和SRT文件路径作为参数。然后,使用FFmpeg的命令行工具执行换操作。最后,调用`convert_vtt_to_srt`函数,传入VTT文件路径和SRT文件路径即可完成换。 请确保在运行代码之前已经安装了FFmpeg,并且将其添加到系统的环境变量中。另外,还需要确保VTT文件Python脚本文件在同一目录下。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [GB28181国标平台测试软件,模拟监控摄像头,实现了注册、注销、目录、INVITE,BYE、KEEPLIVE、OPTION信令](https://download.csdn.net/download/SE_JW/88241318)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [python之 ffmpeg给mp4视频添加字幕](https://blog.csdn.net/qq_45956730/article/details/125744292)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值