繁体   English   中英

用ffmpeg-python链接`drawtext`

[英]Chain `drawtext` with ffmpeg-python

我的python脚本中有一个函数可以通过API遍历某些给定的文本,但是在绘制多个文本值时遇到问题:-

def add_text(title, text_lines):
    input = ffmpeg.input(f'output/{title}.mp4')
    for text in text_lines:
        output = input.drawtext(
            fontsize='24',
            start_number=0,
            text=text['text'],
            fontcolor='white',
            escape_text=True
        )
    ffmpeg.output(output, f'output/{title}-final.mp4').run()

如果我将单个测试值传递到循环中,则此方法有效,但是如果我传递2个或多个值,则仅将最后一个值绘制到视频上。

我如何遍历text_lines并建立输出以将所有值包含在输出文件中。

text_lines的数组如下所示:-

[{text: 'Value 1'}, {text: 'Value 2'}, {text: 'Value 3',}]

我知道它们会彼此重叠,但是目前这不是问题,只是视频中未显示除最后一个值以外的值。

任何帮助将不胜感激。

先感谢您。

您需要重新分配输入(或使用中间变量)。 每个循环中发生的事情是您正在获取新的 input并在其上绘制文本。

你可以做类似的事情

...
        input = input.drawtext(
...

我相信,尽管我没有过多地处理视频。 像这样,您可能需要做更多的工作以确保文本不会全部覆盖其自身。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM