无效参数无法使用ffmpeg使用drawtext打印文本

时间:2017-12-13 07:39:22

标签: android video ffmpeg video-processing

我正在尝试在视频上添加文字和时间戳,但无法在其上打印简单文字。

String[] complexCommand = {"-f", "3gp", "-i", videoPath, "-s", height + "x" + width, "-r",
 "17", "drawtext=fontfile='file://android_asset/font_eight.ttf':fontsize=20:text='test':x=10:y=100",
  "-vcodec", "libx264", "-vb", "2000k", "-preset", "fast", "-f", "3gp", dir.getAbsolutePath() + "/out.3gp"};

 ffmpeg -f 3gp -i /storage/emulated/0/DCIM/Camera/VID_20171211_105946.3gp -s 1920x1080
 -r 17 drawtext='fontfile=file://android_asset/font_eight.ttf:fontsize=20:text=test:x=10:y=100 
-vcodec libx264 -vb 2000k -preset fast -f 3gp /storage/emulated/0/Pictures/Video/out.3gp 

- 已修改的问题---

错误:

Fontconfig错误:无法加载默认配置文件

[Parsed_drawtext_0 @ 0xf5ba0730]无法初始化fontconfig

[AVFilterGraph @ 0xf5b89040]初始化过滤器' drawtext'时出错with args' fontfile = file://android_asset/font_eight.ttf:fontsize = 32:text = test:fontcolor = white:x = 0:y = 0'

打开过滤器时出错!

相同的命令在Windows上运行且没有错误,但当我将其转换为移动设备并测试时收到font-path错误。

1 个答案:

答案 0 :(得分:1)

drawtext是一个视频过滤器,因此它必须作为参数传递给-vf-filter_complex(在过滤多个流时使用)。

所以,

-vf drawtext=fontsize=20:=text='aaa':x=10:y=100