2017-02-22 115 views
1

Я использую ffmpeg для создания видео, это отличный инструмент. Я создаю видеоролики с картинками и должен сделать их максимально гладкими. Я обнаружил, что мне нужно назвать «интерполяцию движения». Я начал искать на всех форумах, и нашел только 3 вещи, которые могут мне помочь: slowmovideo, butterflow и новый фильтр ffmpeg minterpolate.ffmpeg варианты интерполяции движения или ускорение

slowmovideo требуется много настроек, я не смог заставить его работать так, как я хочу. с масляным потоком, я попробовал что-нибудь. От установки OpenCL, OpenGL и других вещей к переключению на двоичные драйверы nvidia и установке всех инструментов sdk и cuda. Он никогда не работал. Некоторая ошибка о cuda, и google не знают об этом.

Так что третий вариант был единственным доступным. Когда я попробовал, он сделал именно то, что я хочу! Но это невероятно МЕДЛЕННО. У меня 8-ядерный процессор, и он обрабатывает около 0,1-0,3 кадра в секунду. И использует только 1 CORE, без видеокарты.

Есть ли способы перемещения интерполированных кадров на графическом процессоре или на процессоре, но быстрее? Только GNU/Linux

ответ

2

Есть ли способы перемещения интерполированных кадров на GPU?

Использование minterpolate? Нет. Он использует libswscale, у которого нет поддержки аппаратного ускорения видеообъявлений, о котором я знаю.

или на процессоре, но быстрее?

Вы можете поэкспериментировать с различными minterpolate options, чтобы увеличить скорость. Или предложите бонусы на bug tracker или Bountysource, чтобы включить поддержку потоковой передачи, или подайте исправление, разрешающее его (хотя я не уверен, что это возможно или реалистично для этого фильтра).

Edit: Вскоре после ответа я понял, что ты asked this on the ffmpeg-devel mailing list где разработчик предложил награду, так что может быть вашим лучшим выбором, если вы хотите использовать этот фильтр и получить повышенную скорость.