0

我正在使用 MLT 框架渲染视频,但无法使用代码中包含的演示成功添加文本。

当我执行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 生产者的更新文档或服务于相同目的的不同生产者?

4

2 回答 2

1

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

于 2015-10-11T12:03:36.853 回答
1

您没有工作的 gtk2 或 qt 模块。这很可能是因为您自己编译了它并且没有安装相应的 -dev 或 -devel 包。有关运行构建脚本的(有些过时的)依赖关系,请参阅网站上的此页面。您还可以通过运行 Shotcut.app/melt(不是 bin/melt)来安装Shotcut并使用它附带的熔体。

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

使用任何网络搜索引擎都可以轻松找到pango 标记格式文档。但是,它不允许您调整大小和位置;生产者只是产生文本。您需要使用其他 MLT 过滤器(例如水印或仿射)来控制大小和位置。文本的 size 属性仅控制在放入合成/转换矩形之前创建的文本图像的大小。

于 2015-10-10T17:55:49.923 回答