MLT (Media Lovin' Toolkit) Фото слайд-видео

Я использую 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 свойства предназначены для видео, но я не смог найти ни одного примера того, как увеличить видимую длину производителей изображений.

Спасибо за любые идеи или советы! Я очень рад изучать этот удивительный инструмент.

2 ответа

Решение

Волшебство, которое вы ищете, это "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

Также интересный пост в блоге здесь:

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.

Когда вы используете in=200 out=300это означает, что ваше изображение начинается в кадре 200, а заканчивается в кадре 300.

Поскольку это изображение, нет необходимости запускать его в кадре 200. Если бы это было видео, то вы пропустили бы первые 199 кадров, и оно закончится в кадре 300. Надеюсь, это было ясно!

Другие вопросы по тегам