使用MLT Framework向视频添加文本

时间:2015-10-09 20:42:32

标签: pango mlt

我使用MLT Framework渲染视频,但无法使用代码中包含的演示成功添加文字。

当我执行mlt_my_name_is演示时,我收到以下错误:

./mlt_my_name_is 
Failed to load "+My name is Inigo Montoya.txt"
Failed to load "+Prepare to die!.txt"
Failed to load "+You killed my father.txt"
Failed to load "+My name is Inigo Montoya.txt"
Failed to load "+Prepare to die!.txt"
Failed to load "+You killed my father.txt"
+-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+
|1=-10| |2= -5| |3= -2| |4= -1| |5=  0| |6=  1| |7=  2| |8=  5| |9= 10|
+-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+
+---------------------------------------------------------------------+
|               H = back 1 minute,  L = forward 1 minute              |
|                 h = previous frame,  l = next frame                 |
|           g = start of clip, j = next clip, k = previous clip       |
|                0 = restart, q = quit, space = play                  |
+---------------------------------------------------------------------+
Current Position:         49

特别是,文档指出当对.txt文件的引用以+开头时,应直接解释文本,但看起来该工具正在尝试加载不存在的文件。

其次,我无法找到有关文本放置和格式的扩展文档。 ProducerPango的文档引用https://developer.gnome.org/doc/API/2.0/pango/PangoMarkupFormat.html处的文档,但此URL返回404.任何人都可以向我指出Pango生产者或服务于同一目的的其他生产者的更新文档吗?

2 个答案:

答案 0 :(得分:1)

您没有使用gtk2或qt模块。这很可能是因为您自己编译并且没有安装相应的-dev或-devel软件包。请参阅网站上有关运行build scripts的(有些过时的)依赖关系的页面。您也可以通过运行Shotcut.app/melt(NOT bin / melt)来安装Shotcut并使用它附带的融化。

MLT可以使用pango或qtext生成器来响应+ .... txt输入。基于FFmpeg的avformat生产者作为最后的手段尝试所有输入。当没有制作人接受输入时,只需报告您看到的消息。它确实无法加载您指定的输入;它不需要澄清它是否认为您的输入是文件名,URL或标记。

使用任何网络搜索引擎都可以轻松找到pango markup format文档。但是,它不会让你调整大小和位置;制片人只是制作文字。您需要使用其他MLT滤镜(如水印或仿射)来控制大小和位置。文本的大小属性仅控制在放入合成/变换矩形之前创建的文本图像的大小。

答案 1 :(得分:1)

除了Dan的评论之外,我建议使用“dynamictext”过滤器来处理文本而不是“水印”过滤器。 dynamictext具有相同的功能,但在文本上不需要“+”前缀和“.txt”后缀。使用dynamictext时仍然需要pango和qtext。