我怀疑这是可能的,但我试图找到某种方法
我知道 FFMPEG 很强大,但是是否可以单独使用 FFMPEG 动态生成这样的内容?视频将被输入,但文本必须完全使用 FFMPEG 生成。
llo*_*gan 11
您可以使用drawtext 过滤器。
如果您使用textfile和reload选项,可以在编码期间更改文本:
textfile包含要绘制的文本的文本文件。文本必须是 UTF-8 编码字符序列。
reload如果设置为 1,文本文件将在每一帧之前重新加载。确保以原子方式更新它,否则可能会部分读取,甚至失败。
文本,可使用走动表达的范围内x,并yDrawText的选项。有关常量和函数的列表,请参阅drawtext 文档。
某些过滤器(例如 drawtext)支持该enable选项,这意味着您可以关闭和打开过滤器。您可以通过以下方式查看哪些过滤器支持时间线:
ffmpeg -filters
Run Code Online (Sandbox Code Playgroud)
如果您有想要用文本覆盖的输入视频:
ffmpeg -i input -vf "drawtext=enable='gte(t,3)':fontfile=Vera.ttf:textfile=text.txt:reload=1:y=h-line_h-10:x=(W/tw)*n" output
Run Code Online (Sandbox Code Playgroud)
text.txt更新文本都会改变如果您没有输入视频并且只想在黑色背景上生成文本:
ffmpeg -f lavfi -i "color=color=black, drawtext=enable='gte(t,3)':fontfile=Vera.ttf:fontcolor=white:textfile=text.txt:reload=1:y=h-line_h-10:x=(W/tw)*n" -t 5 output
Run Code Online (Sandbox Code Playgroud)
在这里,-t 5指定输出的总长度。(如果未指定,编码将永远运行。)字体颜色设置为白色,以便文本可见。
| 归档时间: |
|
| 查看次数: |
22405 次 |
| 最近记录: |