Skip to content

文字动效助手

根据字幕文件生成简单的文字旋转视频。

  • 下载: 关注微信公众号 【三十儿艺】,回复“123”即可获得下载链接
  • 交流群 : 967640625

更新日志

1.0.1

2025.01.19
- 导出csv时支持字幕中存在换行符

1.0.0

2024.01.02
- 修复导出视频底部显示不完整
- 修复第一次导出视频时丢帧
- 尽量同步不同输入(字幕或表格)、不同格式(是否透明)导出视频起始帧和时长,目前仍不一样。

在医疗软件相关领域工作,质量给我定了一套相当复杂的版本命名规范 “V X.Y.Z.B”。从某种意义上来说,这种命名方式确实很严谨,出于某些原因,对外就变成了 2.5.0.5、3.2.0.2 这样,而对内大家则“自由发挥”,于是版本号变得千奇百怪。

我在公司负责最后集成和发布,内部子系统的版本号经常让我哭笑不得。比如,今天我刚打包并发布了2024年的最后一个版本,其中某个子系统的版本号是【1.0.0.241104-debug1-小版本迭代版】。没错,不用怀疑,我也盯着这个名字看了很久。

上周阮一峰的博客分享了一个非常有趣的版本命名规范 “自豪版本规范(Pride Versioning)”:

如果你对新功能感到非常自豪,就发一个大版本(递增第一个版本号)。
否则就发一个小版本(递增第二个版本号)。
如果你对某个地方感到尴尬和羞耻,就发一个补丁版本(递增第三个版本号)。

我觉得这个思路既简单又有趣,既有清晰的逻辑,也能记录开发过程中的心情变化。以后就沿用这个规范吧,当前直接定为 1.0.0。

0.7

20241214
- ffmpeg从5.1升级至7.1
- 修复重映射过桌面的电脑导出时闪退
- 默认打开控制台并记录日志
- 导出视频仅保留上半部分以降低占用资源
- 删除若干低频功能

很感激,群里同学可以把自己电脑借我调试。

持续开发中,遇到 BUG 欢迎进群反馈或者公众号留言。会尽快、尽力、尽善修复~

0.6

  1. 又双叒重构导出模块,直接嵌入 ffmpeg
  2. 不透明背景视频改为ts格式,可以随时中断使用
  3. 导出速度提高

导出最开始只是想用下QT6.8新增加的 QWindowScreenRecorder 实现了效果够自己用

后来有其他小伙伴使用,QWindowScreenRecorder限制太多了,于是第一次重构:就起了个ffmpeg进程,通过管道通信的方式把图像传过去生成视频。

用的人多了,管道通信方式需要提前设定好固定帧率,然后依次发送过去每一帧,资源处理不及就容易丢帧。退而求其次第二次重构:提前把每一帧图片保存下来,最后一起根据时间戳来合成视频。

给别人测试后又遇到内存爆炸的问题,就生成一个1m的视频,需要内存5个G。无奈,第三次重构:老老实实编译 ffmpeg 到自己项目中吧。最开始就知道这个是正解,一直想着能将就直接用现成的将就。还是逃不过~

0.5.1

  1. 修复竖屏导出视频时字幕水平位置异常
  2. 修复表格中调整字体后尺寸会还原为12
  3. ESC退出录制时不再生成视频

持续开发中,BUG满天飞~

0.5

  1. 重构导出模块,修复导出过程中相关BUG
  2. 增加相机变焦功能
  3. 导入CSV文件支持使用系统编码
  4. 修复若干已知BUG

视频合成的原理是将文字渲染为本地图片后用 ffmpeg 进行拼接,靠纯文字缩放和插值来实现补帧和不同分辨率,2k60帧效果可能不如1k30帧,可以先用短的字幕来导出不同尺寸和帧率比较。

每次导出会在桌面生成两个视频(src 和 tblend)分别表示原始帧率和tblend补帧。

可以通过导出csv实现批量修改和保存自己调整好的设置。

透明背景+2k+60帧+长视频,电脑内存低的话会爆内存,如果每次生成桌面没有多两个视频就是内存爆了。

软件内置的 ffmpeg 在同级目录,可以替换成自己的。视频生成参数如下:
-f concat -safe 0 -vsync vfr -pix_fmt yuv420p // 正常
-f concat -safe 0 -c:v prores_ks -pix_fmt yuva444p10le -profile:v 444 // 透明背景
-vf tblend=all_mode=average // 不同帧率插值
如需要自定义设置,图片和时间戳文件都在同级 ./tmp/ 目录中,自己命令行导出即可

0.4

  1. 增加竖屏设置
  2. 支持使用剪映自带字体
  3. 修复若干已知BUG

0.3

  1. 适配1k屏幕
  2. 修复若干已知BUG

0.2

  1. 支持自动避开重叠文字
  2. 支持限制同屏最多段落数量(每翻转一次代表一个段落)
  3. 增加进度显示,应用配置后不再改变预览位置
  4. 优化透明背景导出格式
  5. 修复背景图预览和最终视频不一致
  6. 修复不同帧率与原视频不同步
  7. 主动识别字幕乱序
  8. 修复若干已知BUG

0.1

  1. 支持导入字幕文件
  2. 支持通过excel批量调整字幕字体颜色等属性
  3. 支持设置默认字幕字体、文字尺寸随机范围、文字水平位置、文字随机颜色组
  4. 支持设置单色背景、图片背景、透明背景
  5. 支持打字机、弹跳、摇晃、旋转进入等多种动画
  6. 导出视频文字清晰无且支持不同分辨率、不同帧率
  7. 导出过程不再屏蔽鼠标,可以任意操作