2013-08-25 5 views
0

У меня есть небольшой проект для домашних животных с другом, где мы хотим создать программу визуализации в реальном времени, в основном используя аудио/видео материал, контролируемый MIDI. Теперь часть MIDI не проблема, вы, кажется, находите достойные решения практически для любого языка, но я нахожу себя ужасно неуверенным в том, каким образом я должен смотреть на обработку видео в разумном ключе. Я ищу и быстрый поиск и дополнительные визуализации (например, несколько наложенных изображений).Визуализации в реальном времени с аудио и видео, в каком направлении я должен смотреть?

Я уже экспериментировал с несколькими вариантами, которые, как я нашел, были чрезвычайно легкими в игре, и, казалось, предлагали хотя бы что-то для этой задачи, но с каждым из них я чувствовал, что могу столкнуться с тупиками или низкой производительностью позже когда вы хотите добавить функции и т. д. До сих пор я пытался использовать Pure Data, Max и Processing.

То, что я в основном прошу совета, - это направить меня на оптимальный или по крайней мере достойный путь касательно видео. Самая большая проблема заключается в том, что я все время использую только для того, чтобы узнать, какой язык программирования или библиотеку я должен использовать. Если бы я получил только такое руководство, я мог бы, наконец, начать работать над этим и продвигаться вперед.

Я полагаю, что мне больше всего нравится питон, но любые предложения приветствуются. Я немного прочитал о gstreamer, и я думаю, что там может быть что-то, но теперь мы говорим о библиотеке с относительно низким уровнем, которая потребует хотя бы некоторого времени для получения каких-либо результатов, в отличие от обработки или чистых данных/Max, например.

В дополнение к языку/библиотеке мне интересно узнать о важности формата видео. Это немного выходит за рамки меня, когда мы начинаем говорить о кодеках, I-, P-, B-кадрах и многом другом. Кто знает, может быть даже решение, в котором мы будем использовать оптимальный формат видео, вставьте этот ребенок в RAMdisk или что-то еще и получим удовлетворительную скорость поиска только с этим.

+1

Добро пожаловать в SO. Такой формат вопроса не является тем, к чему ориентирован сайт. Существует много вариантов подхода к этому проекту - в том числе в Python, Java/Processing и т. Д., И вы, вероятно, лучше всего решаете, что больше всего соответствует вашим навыкам. По моему опыту Processing/Java является самым мощным средством для комплексного медиа-рендеринга, но другие, без сомнения, не согласятся. – geotheory

+0

Да, сделанный пункт. Хорошо, спасибо большое за ответ в любом случае. – vekkuli

ответ

1

Я рекомендую иметь взгляд на творческие инструментарии и по практическим соображениям выбирать, на каком языке предпочитают:

  • MaxMSP дрожанию/PureData
  • для C++ попробовать OpenFrameworks с ofxMixi или Cinder (и должно быть MIDI блок/аддон для него)
  • для Java попробовать Processing с proMIDI

Если язык не является проблемой, возможно, вы можете использовать MaxMSP и Jitter. У Max есть объекты для обработки входа midi и его разбора. джиттера занимается быстро матричных операций (изображения/видео/гл/и т.д.). Я думаю, что эквивалент PureData является Gem

Из опыта, сборщик мусора в Java иногда имеет неприятную привычку получать в пути при работе с режиме реального времени аудио, но это в основном верно для синтеза. Вы должны быть в порядке с MIDI. В зависимости от разрешения/количества контента часть видео может немного замедляться.

Именно поэтому я рекомендую либо пойти прямо на инструментарий C++ creative, либо Max. Если вы не уверены в видеоконтенте, вам нужно много настроек/итераций и быстрых изменений, , возможно, вам стоит пойти прямо на Max, который легко прототипировать в/довольно быстро, и вы можете в значительной степени использовать «живой код», код выполняет и обновляет/адаптирует/импровизирует на основе ваших потребностей.

+0

Хорошо, тогда я предполагаю, что теперь нужно продолжать изучать Processing, pd и MaxMSP и посмотреть, как это получится. VVVV и TouchDesigner уверены, что стоит немного поскорее попробовать. OpenFramework C++ также выглядит жизнеспособным, если я столкнусь с какими-либо серьезными ограничениями с «легкими», я рассмотрю его. – vekkuli

+0

Есть ли у кого какие-либо данные относительно формата видео? – vekkuli

+0

Я предполагаю, что это зависит полностью от вашей установки - каков ваш результат? (Например, будет ли это проектор? Если да, то какие разрешения он поддерживает? И т. Д.). Я предполагаю, что это снизится до баланса между скоростью/разрешением/сжатие: если вы работаете с чрезвычайно массивным разрешением, это может помешать работе в реальном времени, если он слишком мал, он не будет выглядеть хорошо. –

1

Я предполагаю, что проблема не в MIDI-вводе.большинство языков поддерживают midi-устройства, даже домашние. я думаю, лучше, чтобы проверить более конкретное программное обеспечение, заниматься в режиме реального времени видео/манипуляции/проекции

один, который является своего рода легко является VVVV http://vvvv.org/

другой один TouchDesigner используется в ISAM шоу Амона Тобина (проверить их out) http://createdigitalmotion.com/2011/08/amon-tobins-isam-behind-the-scenes-ask-your-questions/

0

лично я бы предложил использовать кросс-платформенное (по крайней мере w32, linux, OSX) решение FLOSS. Если вы когда-либо захотите сменить свою ОС, вы можете в значительной степени исключить VVVV и max/jitter.

я хотел бы предложить либо использование:

  • Pure Data/Gem для графической системы ремонтного

  • Processing если вы предпочитаете традиционный, основанный на тексте подхода к программированию (обработка на самом деле просто front-end to java)

Обратите внимание, что лично я очень склонен к Pd.