[FFmpeg-user] Generating an rgb24 pix_fmt solid color using lavfi by default
Kuban Altan
kuban.altan at gmail.com
Wed Oct 29 19:09:46 CET 2014
I try to generate user avatars, using the initials of a user. Here is the
code:
*ffmpeg -v debug -f lavfi -i "color=c=0x0044DD:s=80x80" -vf
"format=pix_fmts=rgb24,drawtext=fontfile=/windows/fonts/arial.ttf:fontsize=40:fontcolor=white:x=(w-text_w)/2:y=(h-text_h)/2:text='KA'"
-vframes 1 -y ka_thumb.png*
Is working fine. But I have one minor problem. The resulting text is
rendered into a rgb24 buffer, and seems fine. But the problem is, the color
I create as *0x0044DD* is in*yuv420p* pixel format by default. What I am
doing as a workaround, first generating a colored buffer in yuv420 pixel
format, then convert it to *rgb24*, then render text over that color in
rgb24 mode. The pixel format conversion step in between seems to be
unneeded. How can I avoid this conversion step, and directly create a
colored background in *rgb24 *pixel format using *lavfi*?
*[lavfi @ 0000000002a9f680] All info foundInput #0, lavfi, from
'color=c=0x0044DD:s=80x80': Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0:0, 1, 1/25: Video: rawvideo (I420 / 0x30323449), yuv420p, 80x80
[SAR 1:1 DAR 1:1], 1/25, 25 tbr, 25 tbn, 25 tbc*
Looking at debug info, I can see that Stream #0:0 is originally yuv420p
kuban altan
More information about the ffmpeg-user
mailing list