FFmpeg - 最近的 vf_drawtext 更改导致字体渲染抖动 - libharfbuz 问题

FFmpeg - 最近的 vf_drawtext 更改导致字体渲染抖动 - libharfbuz 问题

2023/06/19 对 ffmpeg drawtext 过滤器进行了以下提交:

avfilter/vf_drawtext:改进字形塑造和定位

avfilter/vf_drawtext:实现文本对齐

avfilter/vf_drawtext:对 text_align 使用标志类型的选项

使用这些更改构建的 ffmpeg 会产生有问题的字体渲染结果。例如,在渲染运行时间码时 - 见下文。尽管使用了不应出现此问题的等宽字体,并且如图所示,在上述提交之前没有出现此问题。

ffmpeg -f lavfi -i "color=black:size=300x100:rate=24" -t 2 -vf "drawtext=fontfile=/Library/Fonts/DroidSansMono.ttf: fontcolor=white: fontsize=40: x=(w-tw)/2: y=(h-th)/2: rate=24: timecode='01\:14\:13\:19'" timecode.mov

2023/06/19 之前 drawtext 变更(ffmpeg 版本 N-111124-g61047f0f8):

2023/06/19 之前

2023/06/19 drawtext 更改后(ffmpeg 版本 N-111242-g1bcb8a7338):

2023/06/19 之后

我不确定这是否是使用 text_align 命令的问题(该命令的文档不是很清楚)或者是 libharfbuz 库引入的错误。

我正在使用的当前 ffmpeg 版本显示了此问题:

ffmpeg version N-111671-gc7ff0c3e4b-https://www.martin-riedl.de Copyright (c) 2000-2023 the FFmpeg developers
built with Apple clang version 14.0.0 (clang-1400.0.29.102)
configuration: --prefix=/Volumes/ffmpeg_arm64/out --pkg-config-flags=--static --extra-version='https://www.martin-riedl.de' --enable-gray --enable-libxml2 --enable-gpl --enable-libfreetype --enable-fontconfig --enable-libharfbuzz --enable-libbluray --enable-libsnappy --enable-libvmaf --enable-libass --enable-libklvanc --enable-libzimg --enable-libzvbi --enable-libaom --enable-libopenh264 --enable-libopenjpeg --enable-librav1e --enable-libsvtav1 --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libtheora

非常感谢您的建议。

相关内容