我正在尝试在视频上添加文字和时间戳,但无法在其上打印简单文字。
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错误。
答案 0 :(得分:1)
drawtext是一个视频过滤器,因此它必须作为参数传递给-vf
或-filter_complex
(在过滤多个流时使用)。
所以,
-vf drawtext=fontsize=20:=text='aaa':x=10:y=100