首页 > 解决方案 > FFmpeg drawtext-Filter 的字体文件放在哪里?

问题描述

我正在使用 Bravobit 的预编译 FFmpeg-Android(通过 gradle: implementation 'nl.bravobit:android-ffmpeg:1.1.5'; 基于 WritingMind's),目的是将当前时间戳/位置绘制到 .mp4 文件上。我对 FFmpeg 完全陌生,几个月前就开始使用 Android Studio。

信息:

我的问题:

我不知道字体文件是否需要位于我手机上的应用程序路径中、Android Studio 目录中或只是位于我的 MacBook 上的某个位置(因此在运行应用程序时它会被编译)。

基本的 FFmpeg 命令(-version,...)正在工作,但我似乎无法弄清楚我必须在哪里放置我的字体文件。

我当前的命令如下:

-i /path/to/video.mp4 -vf drawtext=fontfile=/users/shared/fonts/arial.ttf:text='Hello World' /path/to/output.mp4

我尝试了很多变体,但总是收到以下错误:

Fontconfig 错误:无法加载默认配置文件 [Parsed_drawtext_0 @ 0xecbfd420] 无法初始化 fontconfig [AVFilterGraph @ 0xec9cc140] 使用参数 'fontfile=/users/shared/fonts/arial.ttf:text=Hello World' 初始化过滤器 'drawtext' 时出错重新初始化过滤器!无法将帧注入过滤器网络:发生未知错误 处理流 #0:0 的解码数据时出错 转换失败!

有没有人有关于如何让它工作的建议?

标签: androidffmpegdrawtextfontconfig

解决方案


推荐阅读