我在用户上传的输入视频上绘制文字和图标 . 我能够使用两个独立的ffmpeg过滤器-vf和-filter_complex成功绘制测试和图标 . 但问题是视频的不同大小和分辨率的输出不一致 . 我的意思是我需要将文本和图标放在左上角,并使用一些填充,但每个视频的位置和大小完全不同 . 那么你可以帮助我如何计算基于视频高度和宽度的字体以使其一致,我的意思是文本框应该是相同的大小,而不管视频尺寸 .

这是我正在使用的命令:

ffmpeg -i input.mp4 -vf“drawtext = fontfile = OpenSans-Regular.ttf:text = 'LIVE ':fontcolor = white:fontsize = 40:x = 50:y = 50:box = 1:boxcolor = red @ 0.9:boxborderw = 20,format = yuv420p,drawtext = fontfile = OpenSans-Regular.ttf:text ='\%{eif:$ 1 t:d}':fontcolor = white:fontsize = 40:x = 195:y = 50:box = 1:boxcolor=black@0.4:boxborderw = 20,format = yuv420p“-c:v libx264 -c:copy -movflags faststart output1.mp4 -y

ffmpeg -i input.mp4 -vf“drawtext = fontfile = OpenSans-Regular.ttf:text = 'LIVE ':fontcolor = white:fontsize = 40:x = 50:y = 50:box = 1:boxcolor = red @ 0.9:boxborderw = 20,format = yuv420p,drawtext = fontfile = OpenSans-Regular.ttf:text ='\%{eif:$ 1 t:d}':fontcolor = white:fontsize = 40:x = 195:y = 50:box = 1:boxcolor=black@0.4:boxborderw = 20,format = yuv420p“-c:v libx264 -c:a copy -movflags faststart output1.mp4 -y ffmpeg -i output1.mp4 -i eye.png - filter_complex“[1] lut = a = val * 1 [a]; [0] [a] overlay = 190:48”-pix_fmt yuv420p -c:copy output2.mp4 -y;