利用FFmpeg 转换课程vtt 字幕到 srt字幕

字幕转换工具

经常学习udemy 视频课程的,可能知道,从网络下载的udemy 课程文件里面有时候字幕是vtt 格式的,有时候想导入到百度网盘里面,怎奈百度网盘,不支持vtt 字幕格式。有字幕的时候,会比较好多了。既可以学习技术,又可以学习外语。

首先我们先看下这两种格式的不同。

VTT(WebVTT)

VTT(WebVTT)和SRT(SubRip)是常见的字幕格式,用于在视频或音频中显示文字。

VTT(WebVTT)格式:

  • VTT是一种基于文本的字幕格式,用于在HTML5视频播放器中显示字幕。
  • 它支持更多的文本样式和布局选项,如字体样式、位置和对齐方式。
  • VTT格式还支持以毫秒为单位的时间码,提供更高的时间精度。
  • 它可以包含更多的元数据信息,如章节标记和语言标签。
  • VTT格式的文件可以直接在Web页面中嵌入,无需额外的转换工具。
SRT(SubRip)格式:
  • SRT是一种简单的文本格式,用于在各种媒体播放器中显示字幕。
  • 它是一种较早的字幕格式,因此在广泛使用的播放器和编辑工具中都得到支持。
  • SRT格式具有简洁的结构,易于创建和编辑。
  • 它是一种纯文本格式,可以直接在文本编辑器中打开和修改。
  • SRT文件通常较小,适用于网络传输和存储。
优缺点总结

两者的优缺点总结如下

VTT格式的优点:

  • 支持更多的文本样式和布局选项。
  • 提供更高的时间精度。
  • 能够包含更多的元数据信息。
  • 可以直接在Web页面中嵌入。

VTT格式的缺点:

  • 由于其较新的特性,不是所有的播放器和编辑工具都对VTT格式提供完全支持。

SRT格式的优点:

  • 得到广泛支持,适用于各种播放器和编辑工具。
  • 结构简洁,易于创建和编辑。
  • 是一种纯文本格式,易于处理和存储。

SRT格式的缺点:

  • 不支持一些高级的文本样式和布局选项。
  • 时间精度较低。
  • 包含的元数据信息较少。

汇总起来,如下表格所示

|-----|-----------------------------------------------------------------|----------------------------------------------|
| | 优点 | 缺点 |
| VTT | * 支持更多的文本样式和布局选项。 * 提供更高的时间精度。 * 能够包含更多的元数据信息。 * 可以直接在Web页面中嵌入。 | 由于其较新的特性,不是所有的播放器和编辑工具都对VTT格式提供完全支持。 |
| SRT | * 得到广泛支持,适用于各种播放器和编辑工具。 * 结构简洁,易于创建和编辑。 * 是一种纯文本格式,易于处理和存储。 | * 不支持一些高级的文本样式和布局选项。 * 时间精度较低。 * 包含的元数据信息较少。 |

这就涉及到转换,如何高效自动转换 vtt 格式到 srt 格式。我网上找了下发现FFmpeg支持,我思考了下,写了个批量脚本进行转换,这里分享给大家。

到家使用的的时候,下载一个ffmpeg 包就可以。

复制代码
@echo off
setlocal enabledelayedexpansion

set "ffmpeg_path=C:\D_Drive\software\ffmpeg-4.3.1-2021-01-01-essentials_build\bin\ffmpeg.exe"
set "source_dir=C:\D_Drive\udemy\os\The Big Picture 2023-8\"

for /r "%source_dir%" %%i in (*.vtt) do (
    set "input_file=%%i"
    set "output_file=%%~dpni.srt"
    "%ffmpeg_path%" -i "!input_file!" "!output_file!"
)


cmd /k

大家使用需要注意

1.下载最新的ffmpeg 包,解压,上述脚本ffmpeg_path 目录改为自己的目录工具地址,指定到可执行文件

2.更改source_dir 为自己的资源目录,这个目录里面有你需要转换的vtt 字幕文件

3.文件名称保存为 transfervtt_srt.bat

4.双击运行transfervtt_srt.bat 文件,既可转换

脚本主要原理,调用目录里面的每个.vtt文件,执行转换,并且保存文件名称为 对应文件名称.srt

cmd /k 主要效果是,保证脚本执行完,不立即关闭屏幕,这样用户可以查看执行日志。

运行效果

同目录下文件:

相关推荐
HY小宝F7 小时前
树莓派 FFmpeg 实战笔记(二):命令行、源码编译与硬件编码的真相
学习·职场和发展·ffmpeg
qq_3168377511 小时前
uniapp + Vite + ffmpeg-wasm 0.12.x 集成示例
ffmpeg·uni-app·wasm
带娃的IT创业者11 小时前
Emacs 31:一场静默而深刻的范式演进
编辑器·文本编辑器·开源软件·emacs·lisp·软件架构
深念Y11 小时前
为什么选 MiniClaude:一个精简开源替代方案的选型过程
ai·开源·开源软件·agent·claude·workflow·claudecode
qingmiaozhuan12 小时前
电脑录屏黑屏?只有声音没画面?从原理到排查一篇搞定
ffmpeg·电脑·音视频开发·录屏技术·电脑录屏
大鹅办公12 小时前
酷狗音乐怎么转换MP3格式?4种方法亲测对比+避坑指南(附FFmpeg命令行教程)
ffmpeg·音视频·音频格式
工具派1 天前
记一次用在线工具压缩视频的过程(两档实测)
ffmpeg·视频压缩·crf
江畔柳前堤2 天前
LLM + Agent 模型效果评估:从入门到工业级体系构建的完整指南
开发语言·人工智能·自然语言处理·chatgpt·架构·json·batch
AI工具人PM产品经理2 天前
Claude Code skill 自建还是引入?3 个开源项目的改造判断标准
开源软件·技术选型·claude code·技能包·自建vs引入
zhonyu鱼2 天前
Kodi:开源免费的家庭影院与媒体中心,打造私人电影库
开源·开源软件·媒体