ffmpeg - ffmpeg 如何使移动文本平滑?
问题描述
我有以下命令用于从文本文件创建滚动文本:
ffmpeg -i vid.mp4 -vf "[in]drawtext=fontfile=C\\:/Windows/Fonts/arial.ttf:fontsize=25:fontcolor=black:x=30:y=h-n*5:textfile='credits.txt'[out]" -c:v libx264 -max_muxing_queue_size 1024 scrolling.mp4
这将缓慢地向credits.txt
上移动找到的文本,但每秒都会离散地移动,而不是随着时间的推移平滑。控制它的部分是y=h-n*5
,我认为帧号在哪里n
,我认为每帧都会更新它,但看起来它的行为与我将其替换为t
.
如果有人知道使用 ffmepg 或任何其他方法(如 image magick)平滑移动文本的任何方式,那将不胜感激。
解决方案
我发现这是因为在创建视频vid.mp4
时,我将帧速率设置为 1。这样只有 1 fps,因此“每秒离散运动”。
创建包含-r 1
在选项中的初始文件后,将其设置为-r 30
创建所需的平滑移动效果。
推荐阅读
- reactjs - AXIOS-通过快递发送对象
- uibutton - 如何在最小的 OnEvent() 函数中格式化多个按钮?
- python - 通过模型对象迭代 django m2m
- javascript - 如何将数据从 mysql 服务器发送到 node.js socket.io
- ios - 为什么我在swift中选择照片库时不显示照片库?
- php - 如何使用 mysql 和 php 开发足球运动员比较器?
- java - 后台失败时重启黄瓜测试
- javascript - 我该如何解决“找不到模块'./commands/${file}'”
- java - 将 Python 2D ndarray 加载到 Android 中以在 TFLite 上进行推理
- javascript - D3.js 错误:
属性变换:预期数字,“翻译(NaN,NaN)”