[英]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.