Java для видео приложений: хороший выбор? - PullRequest
2 голосов
/ 22 июля 2009

Я нахожусь в фазе концепции приложения, которое будет иметь много аудио / видео входов и выходов. Я хочу сделать это на Java; но почему-то еще не до конца убежден. Как вы думаете? Насколько плохо это может быть? И какие советы?

Почему я думаю о Java:

  1. Это язык, который мне удобнее всего.
  2. Более легкая кроссплатформенная миграция будет бонусом.
  3. Невозможно позволить себе коммерческие платформы (например, .NET) или недостаточно хорош для других бесплатных альтернатив (например, Python)
  4. Я также немного склонен к C ++ / Qt; но это заняло бы больше времени для меня, так как я не очень хорош в этом, и я немного беспокоюсь за ремонтопригодность.

Ответы [ 6 ]

3 голосов
/ 06 ноября 2009

Если вам интересно, посмотрите Xuggler . Он демонстрирует всю мощь FFmpeg, но как API Java, который работает на Windows, Mac и Linux. Преимущество в том, что вы получаете всю мощь FFmpeg, кроме Java. Недостатком является необходимость установки собственных библиотек FFmpeg DLL / shared-библиотек.

2 голосов
/ 28 июля 2009

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

Мне известны две популярные универсальные видеокарты, которые можно использовать для доступа к большинству типов мультимедиа: Directshow и ffmpeg. Directshow связано с окнами, поэтому остается только ffmpeg.

Ffmpeg имеет версии как для Windows, так и для Unix, и, хотя он написан на C, он может использоваться на многих языках.

Существует даже несколько java-оболочек для ffmpeg (например, посмотрите на xuggle)!

2 голосов
/ 22 июля 2009

Более легкая кроссплатформенная миграция была бы бонусом.

Аудио и видео означает, что вы будете иметь дело с выделенными нативными библиотеками и JNI-оболочками для каждой поддерживаемой платформы; в этом случае кроссплатформенный аргумент для Java на самом деле не применяется.

1 голос
/ 22 июля 2009

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

Вы действительно хорошо знакомы с Java. Если вам не хватает времени, это еще важнее. Однако, если вы сможете уделить немного времени изучению, C ++ будет того стоить.

Относительно .NET: .NET SDK со всем необходимым можно бесплатно загрузить . Получите бесплатную IDE, такую ​​как SharpDevelop , и все готово. Это Visual Studio, которая стоит денег, вам не нужна Visual Studio для разработки .NET.

0 голосов
/ 17 января 2010

Расти, что ты делал? У меня тоже есть видео приложение, которое я хотел бы сделать, но на самом деле я бы предпочел Java / JavaFX, а не C ++. Особенность использования Flash и / или текущей поддержки JavaFX-видео заключается в том, что воспроизведение Flash-видео не является покадровым. Мне действительно нужно иметь возможность останавливаться / запускаться / переходить на отдельные кадры, как вы можете с QuickTime.

Кто-нибудь пробовал делать воспроизведение с Xuggler и Java / JavaFX?

0 голосов
/ 22 июля 2009

Rusty.in,

Как насчет попытки сделать JavaFX Media API . Недавно версия JavaFX была 1.2.0 с приложением GUI. Он поддерживает Swing. Грамматика основана на стиле сценария; однако вы можете развернуть существующие компоненты Swing в JavaFX.

Надеюсь, это поможет.

Tiger

...