ffmpeg - ffmpeg 提供文本和文本文件。请只提供一个
问题描述
我有以下命令:
ffmpeg -i vid.mp4 -vf "[in]drawtext=fontfile=C:\Windows\Fonts\arial.ttf:fontsize=40:fontcolor=yellow:x=2048/2:y=720/2:textfile='credits.txt':enable='between(t,6,12)' [out]" -c:v libx264 -t 30 -max_muxing_queue_size 1024 scrolling.mp4
ffmpeg 抛出错误:
[Parsed_drawtext_0 @ 000002354c44eb00] 提供文本和文本文件。请只提供一个
我完全不知道它如何认为我正在传递文本,因为我在命令中定义了 no where 。对于抛出此错误的原因,我们将不胜感激。
也是-max_muxing_queue_size 1024
因为没有它我得到这个错误:
为输出流 0:1 缓冲的数据包过多。
解决方案
您需要转义您的字体文件路径,因为:
"C:\" 中的 "C:\" 是 drawtext 过滤器的参数分隔符。由于没有其他“arg=value”对,它试图使用一些命令行作为文本。
根据您的 shell 和解析的级别,您可能需要修改转义。
这对我有用:
ffmpeg \
-i vid.mp4 \
-vf "[in]drawtext=fontfile='C\\:/Windows/Fonts/arial.ttf':
fontsize=40:fontcolor=yellow:
x=2048/2:y=720/2:textfile=credits.txt:
enable='between(t,6,12)'[out]" \
-c:v libx264 \
-t 30 \
-max_muxing_queue_size 1024 \
scrolling.mp4
推荐阅读
- typescript - 元素在转换中隐式具有任何类型
- javascript - 如何使用 Ignite Bowser 2 Boilerplate 在 React Native 中点击/使用帖子并获取 api。(Mobx 状态树,输入脚本)
- sql-server - Access ADO 中的 GO 语句
- php - PHP 变量转换为 PayPal JavaScript
- django - “Album.singer”必须是“Singer”实例
- java - 无法加载 GLPK for Java 的动态链接库
- connectycube - 获取用户会话令牌时意外签名
- git - Git-获取第一次添加头文件的所有提交
- elasticsearch - 如何获取相同键中具有最高 _score 的文档?
- sql - SQL - ORA-00911 - 尝试插入记录时字符无效