MLT(媒体爱好工具包)照片幻灯片视频
MLT (Media Lovin' Toolkit) Photo Slide Video
我在一系列图像上从命令行使用 MLT。当我 运行:
melt 0.jpg 1.jpg 2.jpg 3.jpg
生成每张照片占一帧的视频(4帧长视频)。我希望每张照片占据 100 帧。我已经尝试了我能想到的所有属性组合,例如:
melt 0.jpg out=100 1.jpg in=100 out=200 2.jpg in=200 out=300
等等
但结果并不如预期。我也试过组织成曲目,并从 XML 文件中融合。充其量,我已经能够让照片显示在第一个预期的帧上,然后是 99 个空白帧。
延长照片可见长度的最佳做法是什么?举个简单的例子,我想要一个包含 10 张照片的轨道,其中每张照片被组织成后续的 100 帧。最终,我将合并视频和照片。
处理视频时,我没有遇到任何问题,我的理解是 in
和 out
属性是为视频设计的,但我无法找到任何如何延长图像制作者可见长度的示例。
感谢您的任何想法或提示!我真的很高兴能学习这个很棒的工具。
您正在寻找的魔法是"ttl"。将 ttl 参数设置为您希望图像持续的帧数。
melt .all.jpg ttl=100
这里有一些很好的例子:
https://github.com/mltframework/mlt/blob/master/demo/mlt_slideshow
https://github.com/mltframework/mlt/blob/master/demo/mlt_slideshow2
https://github.com/mltframework/mlt/blob/master/demo/mlt_slideshow_black
这里还有一个有趣的博客 post:
http://mltframework.blogspot.com/2010/08/making-nice-slideshows.html
更新:
“*.jpg”语法对我不起作用。我很确定你必须使用“.all.jpg”。看来您的安装可能遇到了一些问题。这里有一些尝试...
MLT 有几个可以处理图像的模块。如果您不指定模块,MLT 会为您选择一个。尝试明确指定两个模块,看看一个是否比另一个更好:
melt pixbuf:.all.jpg ttl=100
和:
melt qimage:.all.jpg ttl=100
此外,也许可以尝试添加引号?
melt pixbuf:".all.jpg" ttl=100
以上所有对我有用。
如果以上所有方法都失败,请尝试列出所有生产者并检查 pixbuf 和 qimage:
melt -query producers
我正在使用 Ubuntu,所以如果这是 OSX 的特定问题,我不会提供太多帮助。但我可以告诉你,MLT 绝对需要针对 qt 或 gtk 进行编译,以获得你正在寻找的图像行为。
这对你有用吗?
melt \
0.jpg length=100 \
1.jpg length=100 \
2.jpg length=100
如果您寻求更多控制(如果您希望一张图像持续 200 帧,另一张图像持续 50 帧),此方法可能会更好。
但是,如果这无关紧要,假设您的所有图像都以 .jpg 结尾,Brian 的方法会更方便。
当您使用 in=200 out=300
时,也就是说图像从第 200 帧开始,到第 300 帧结束。
因为它是一张图片,所以没有必要从第 200 帧开始。如果它是一段视频,那么您将跳过前 199 帧,它会在第 300 帧结束。希望你明白了!
我在一系列图像上从命令行使用 MLT。当我 运行:
melt 0.jpg 1.jpg 2.jpg 3.jpg
生成每张照片占一帧的视频(4帧长视频)。我希望每张照片占据 100 帧。我已经尝试了我能想到的所有属性组合,例如:
melt 0.jpg out=100 1.jpg in=100 out=200 2.jpg in=200 out=300
等等
但结果并不如预期。我也试过组织成曲目,并从 XML 文件中融合。充其量,我已经能够让照片显示在第一个预期的帧上,然后是 99 个空白帧。
延长照片可见长度的最佳做法是什么?举个简单的例子,我想要一个包含 10 张照片的轨道,其中每张照片被组织成后续的 100 帧。最终,我将合并视频和照片。
处理视频时,我没有遇到任何问题,我的理解是 in
和 out
属性是为视频设计的,但我无法找到任何如何延长图像制作者可见长度的示例。
感谢您的任何想法或提示!我真的很高兴能学习这个很棒的工具。
您正在寻找的魔法是"ttl"。将 ttl 参数设置为您希望图像持续的帧数。
melt .all.jpg ttl=100
这里有一些很好的例子:
https://github.com/mltframework/mlt/blob/master/demo/mlt_slideshow
https://github.com/mltframework/mlt/blob/master/demo/mlt_slideshow2
https://github.com/mltframework/mlt/blob/master/demo/mlt_slideshow_black
这里还有一个有趣的博客 post:
http://mltframework.blogspot.com/2010/08/making-nice-slideshows.html
更新:
“*.jpg”语法对我不起作用。我很确定你必须使用“.all.jpg”。看来您的安装可能遇到了一些问题。这里有一些尝试...
MLT 有几个可以处理图像的模块。如果您不指定模块,MLT 会为您选择一个。尝试明确指定两个模块,看看一个是否比另一个更好:
melt pixbuf:.all.jpg ttl=100
和:
melt qimage:.all.jpg ttl=100
此外,也许可以尝试添加引号?
melt pixbuf:".all.jpg" ttl=100
以上所有对我有用。
如果以上所有方法都失败,请尝试列出所有生产者并检查 pixbuf 和 qimage:
melt -query producers
我正在使用 Ubuntu,所以如果这是 OSX 的特定问题,我不会提供太多帮助。但我可以告诉你,MLT 绝对需要针对 qt 或 gtk 进行编译,以获得你正在寻找的图像行为。
这对你有用吗?
melt \
0.jpg length=100 \
1.jpg length=100 \
2.jpg length=100
如果您寻求更多控制(如果您希望一张图像持续 200 帧,另一张图像持续 50 帧),此方法可能会更好。
但是,如果这无关紧要,假设您的所有图像都以 .jpg 结尾,Brian 的方法会更方便。
当您使用 in=200 out=300
时,也就是说图像从第 200 帧开始,到第 300 帧结束。
因为它是一张图片,所以没有必要从第 200 帧开始。如果它是一段视频,那么您将跳过前 199 帧,它会在第 300 帧结束。希望你明白了!