python - 使用 ffmpeg-python 链接“drawtext”
问题描述
我的 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(
...
我相信,虽然我没有太多的视频工作。就像,您可能需要做更多工作以确保文本不会全部叠加在自身之上。
推荐阅读
- excel - 将非结构化数据(连接的文本字符串)转换为可使用的可读格式/从字符串中提取数据点
- debugging - 使用 getinfo / getlocal / getupvalue 获取 Lua 中的所有变量以进行调试
- android - 指定孩子的问题已经有父母
- node.js - 无法在没有页面重新加载的情况下获取套接字数据,并与下面的代码做出反应
- postgresql - 匿名块在花时间删除重复数据|| 检查重复项,然后删除。但是循环继续运行并且不会停止
- python - 使用其他数据框中未包含的行创建一个新数据框
- linux - CSV数据多级解析Shell脚本
- python - 为什么在输入命令时出现此错误 - makemigrations
- python - Python:如何从多边形中删除 NaN?
- python - Python:将字典列表转换为表格