[FFmpeg-user] Weird results with drawtext
Michael Koch
astroelectronic at t-online.de
Sun Sep 19 10:46:33 EEST 2021
Am 19.09.2021 um 01:08 schrieb Cecil Westerhof via ffmpeg-user:
> Cecil Westerhof via ffmpeg-user <ffmpeg-user at ffmpeg.org> writes:
>
>> I have several of the following (simplified):
>> drawtext=
>> enable = 'between(t, 105, 115)':
>> text = 'speaker':
>> y = main_h - (text_h * 4),
>> drawtext=
>> enable = 'between(t, 105, 115)':
>> text = 'subject':
>> y = main_h - (text_h * 2.2),
>>
>> I have been carefully tweaking to get them on the correct place.
>> But when I was satisfied and generated all eight places where I wanted
>> to have them the placement of the speaker and subject text is on
>> different heights. Sometimes one or the other is different, sometimes
>> both and sometimes they are the same.
>>
>> Is this a bug, or am I doing something wrong?
> As Michael Koch said:
> The content of the variable "text_h" depends on which characters
> you are printing.
>
> So I changed:
> drawtext=
> enable = 'between(t, 105, 115)':
> text = 'speaker':
> y = main_h - (text_h * 4),
> drawtext=
> enable = 'between(t, 105, 115)':
> text = 'subject':
> y = main_h - (text_h * 2.2),
>
> to:
> drawtext=
> enable = 'between(t, 105, 115)':
> text = 'speaker':
> y = main_h - 200,
> drawtext=
> enable = 'between(t, 105, 115)':
> text = 'subject':
> y = main_h - 140,
>
> That gives satisfactory results. The only problem is when the font
> size changes. Then I have to remember I need to change these two
> values also. But I do not expect that to happen often, so I can live
> with that.
As a workaround you could define the strings in a subtitle file and burn
the subtitles into the frames.
See chapters 2.164 and 2.165 in my book:
http://www.astro-electronic.de/FFmpeg_Book.pdf
Michael
More information about the ffmpeg-user
mailing list