簡體   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