Лучшая библиотека для работы с видео для Python?

Я хотел бы включить некоторые простые функции редактирования видео для приложения Python, которое я пишу, и прибегаю к помощи Google:

  1. пимедия
  2. pyglet (с использованием медиа-модуля)
  3. gst-питон

Требования:

  1. Маленький след. Я уже использую wxPython (просто так), что довольно легко раздувает окончательный файл EXE, поэтому желательно, чтобы все, что я использую для реализации этой функции редактирования видео, не должно значительно увеличивать раздувание.
  2. Библиотека должна по-прежнему активно поддерживаться.
  3. Это не должно требовать проприетарного лицензирования, поэтому о FMOD не может быть и речи.
  4. Минимальные зависимости
  5. Не полноценный видеоредактор. Нет необходимости в причудливых штанах. Просто возможность переходить к разным частям видео и либо захватывать кадр, либо ставить (несколько) маркеров для начала и конца разделов видео, чтобы обрезать биты.
  6. Кроссплатформенность — в конце концов должна работать на Windows, Linux и OS X.

Если вы использовали какую-либо из перечисленных выше библиотек для редактирования видео или другие, с которыми мне еще предстоит столкнуться в вашем приложении Python, я хотел бы знать подводные камни для каждой из них и как они сочетаются друг с другом. Если вы также знаете о привязке Python для avbin, я хотел бы знать, где ее найти.

gst-python (Gstreamer с привязками Python), похоже, не очень хорошо документирован. Он также тесно связан с pyGTK, который также является довольно большим набором инструментов.


person TheObserver    schedule 21.10.2008    source источник


Ответы (4)


Я бы порекомендовал вам еще раз взглянуть на gst-python! Он не связан с pyGTK. Вы можете использовать его совершенно отдельно, без каких-либо зависимостей ни от привязок Python, ни от библиотек C GTK. Я написал несколько утилит командной строки, которые используют gst-python, а не GTK.

Это правда, что документы gst-python не так хороши. Однако документация по C API и модулям действительно очень обширна, а сопоставление с C API к Python API очень просто. И есть очень активное сообщество Gstreamer, и мне повезло найти помощь в списках рассылки и IRC!

person Dan Lenski    schedule 21.10.2008

Сейчас я работаю над проектом с использованием pyglet, и мне это очень нравится. Их веб-сайт сейчас работает медленно, но обычно руководство по программированию на их странице документации является отличным введением. В библиотеку. Их стандартная документация по API также очень тщательна.

Я не могу сейчас вдаваться в подробности нашего проекта, но когда вы говорите, что вам нужно

Не полноценный видеоредактор. Нет необходимости в причудливых штанах. Просто возможность переходить к разным частям видео и либо захватывать кадр, либо ставить (несколько) маркеров для начала и конца разделов видео, чтобы обрезать биты.

Я могу подтвердить, что pyglet упростит кодирование.

Просматривая остальную часть вашего списка, я не могу сейчас говорить за / против размера файла, но pyglet активно поддерживается (на самом деле разработчики очень помогли мне в отслеживании ошибок всего две недели назад), это BSD лицензионный, ни от чего не зависит (с опциональной поддержкой AVBIN для дополнительных форматов файлов), у нас работает на Windows и Linux.

До сих пор единственная кросс-платформенная ошибка, к которой мы пришли, заключается в том, что в отношении звука в Linux у вас есть опция OpenAL, которая будет микшировать стереофайлы в моно, и ALSA, которая не даст вам никакой регулировки громкости во время воспроизводится звук. Они утверждают, что обе эти проблемы связаны с апстримом и над ними работают.

person Ryan    schedule 23.10.2008
comment
+1 за пиглет. Это очень хорошо задокументировано. - person Jeff; 29.03.2014

gst-python вообще не связан с pygtk — он просто использует общую объектную модель (pygobject) и способ создания привязок. Но вы можете легко использовать gst-python без pygtk — возьмите в качестве примера Flumotion.

person Thomas Vander Stichele    schedule 21.10.2008
comment
Пожалуйста, исправьте ссылку на демо. - person Cristian Ciupitu; 23.10.2008
comment
обе ссылки не работают @Thomas - person MAhipal Singh; 27.02.2019

Я сейчас в таком же затруднительном положении. Мне посчастливилось связаться с разработчиками проекта Ardome Media Library.

Эта библиотека представляет собой систему, основанную на графе фильтров. Думаю, он свободно основан на http://www.khronos.org/openml/.

В настоящее время он работает на Linux и OS X с ожидаемой интеграцией с Windows.

person smerten    schedule 13.11.2008