Постепенно ускоряйте видео с помощью ffmpeg
Я сейчас пытаюсь сделать покадровое видео. Это можно сделать с iMovie, но у меня есть одна простая проблема. Есть ли способ прогрессивно ускорить видео с помощью любого программного обеспечения с открытым исходным кодом?
Я специально назвал ffmpeg, потому что у меня всегда было чувство, что ffmpeg может делать все что угодно:). Однако, если есть какая-либо другая (бесплатная) альтернатива, я был бы очень рад услышать об этом.
Если вы хотите знать почему, я хочу постепенно увеличивать скорость, чтобы придать драматический эффект моему видео.
По сути, я хочу, чтобы видео получалось быстрее по мере его продвижения.
7 ответов
Если у вас есть Linux-машина с картой nVidia, вы можете попробовать это: http://slowmovideo.granjow.net/
Я использую slowmovideo. Это все еще очень много альфа-программного обеспечения. Тем не менее, я получил довольно впечатляющие результаты.
Я также постепенно ускоряю видео, используя Blender VSE. Как и в случае с slowmovideo, Blender позволяет изменять скорость видео, манипулируя кривой IPO.
если я правильно понял - вы просите о рампе? проверьте это и сообщите нам, работает ли это для вас:
ffmpeg -y -i 15.mp4 -filter:v "setpts=(1.5-0.002*N)*PTS" new.mp4
этот фильм движется от медленного к быстрому, а другой от быстрого к медленному:
ffmpeg -y -i 15.mp4 -filter:v "setpts=(0.003*N+0.5)*PTS" new.mp4
гдеN
это номер кадра, начинающийся с0
по максимуму30fps*15seconds
"="450
.
Числа 1,5 и 0,002, а также 0,003 и 0,5 — это параметры, которые нужно изменить для ваших вещей. Они указывают, с какой скорости начинать, какой скорости достигать и как быстро.
Для получения более подробной информации см. документацию ffmpeg-filter-documentation.
Бесплатная версия DaVinci Resolve может управлять переменной скоростью клипа, если это то, что вам нужно, т. Е. На время клипа скорость воспроизведения постепенно меняется от A до B.
Если в вашем видео отсутствуют кадры, например, из-за чрезмерного замедления, вы можете даже заставить его вставлять сгенерированные кадры с помощью функции "Оптический поток".
Ни Kdenlive, ни Shotcut не могут увеличивать скорость, но есть обходной путь :
- Поместите два клипа рядом друг с другом. Переход преобразует последние 7 секунд первого клипа в 3/8 с, а первые 7 секунд второго клипа в 3/8 с, при этом общее время перехода составит 6/8 с.
- Перейдите к концу первого клипа.
- Вернитесь на 4 секунды назад и разделитесь. Установите скорость этого 4-секундного клипа на 32x.
- Найдите еще 2 секунды назад и разделитесь. Установите скорость 16x.
- Найдите еще 1 секунду назад и разделитесь. Установите скорость 8х.
- Повторите шаги 3, 4, 5 в обратном порядке для второго клипа. Т.е. разделите на 4, 2 и 1 секунду и установите скорости 32x, 16x, 8x.
- Удалите пустые места между клипами.
Обратите внимание, что каждая из секций рампы длится 1/8 секунды: 1 с при 8x, 2 с при 16x, 4 с при 32x <-- для первого клипа; второй клип будет состоять из секций по 18 секунд в обратном порядке: 4 с @ 32x, 2 с @ 16x, 1 с @ 8x.
Обратите внимание, что из-за ошибки в Shotcut вы можете увидеть лишние кадры. Вам придется удалить их вручную.
Визуализируйте ваш фильм как серию изображений. Чтобы ускорить ваше замедление, просто удалите все остальные изображения. Затем объедините остальные изображения с ffmpeg следующим образом: ffmpeg -i image-%03d.jpg foo.avi
Я думаю, что вы могли бы написать это. Для каждой картинки сделайте видео только этой картинки, но сделайте время показа сортировщиком и сортировщиком. После того, как все изображения обработаны, затем объедините все видео в одно видео, где каждое изображение будет отображаться все короче и короче.
Если кто-то хочет сделать это на Mac, вот как.
Я хочу убедиться, что моя сеть была помечена как рабочая сеть. Убедитесь, что это правильно для вас.
Итак, ничего из вышеперечисленного не принесло никакой удачи.
Затем я сделал следующее:
Панель управления \ Все элементы панели управления \ Система
Я выбрал: вкладка "Имя компьютера".
- Я ввел что-то в текстовое поле описания компьютера. Это было пустым.
- Я выбрал кнопку "Изменить...". Это дает вам возможность изменить имя рабочей группы. Моим был "WORKGROUP". Я установил его на что-то другое, а затем вернул обратно в WORKGROUP. Думал, что это может что-то покраснеть.
Затем я вошел на компьютер, на котором была папка, которую я хотел поделиться через RCP. Затем я получил доступ к папке общего доступа на моем ПК. Теперь, когда этот сеанс был жив, я открыл Управление компьютером, открыл "общие папки" и сеансы и увидел компьютер, к которому пытался подключиться, подключаясь ко мне.
Опять думал, что это что-то смоет. После того, как я сделал все это, он работал. Я не уверен, какой именно шаг это исправить. У меня было слишком много времени, чтобы продолжать проверку после того, как я что-то изменил.
Спасибо всем, кто помог здесь.