2009-07-22 2 views
2

저는 오디오/비디오 입출력이 많은 응용 프로그램의 개념 단계에 있습니다. 자바로 해보고 싶다. 그러나 어쨌든 아직 완전히 확신하지 못했습니다. 어떻게 생각해? 얼마나 나쁠까요? 그리고 어떤 충고? Java 기반 비디오 응용 프로그램 : 좋은 선택입니까?

왜 내가 생각하고 자바 :

  1. 그것은 내가 가장 편안 해요 언어입니다.
  2. 쉬운 플랫폼 간 마이그레이션은 보너스가됩니다.
  3. 상업용 플랫폼 (예 : .NET)을 구입할 수 없거나 다른 무료 대안 (예 : Python)이 충분하지 않습니다.
  4. C++/Qt에 약간 기울어졌습니다. 그러나 그것은 저에게 위대한 것이 아니므로 저에게 더 많은 시간이 걸릴 것이며 유지 관리 가능성에 대해 약간 걱정이됩니다.
+0

정직하게 말하자면, 이것은 Flash/AIR이 위력을 발휘하는 것과 같습니다. 저는 사람들이 일반적으로이 플랫폼에 대한 큰 팬이 아니라는 것을 알고 있습니다.하지만 당신이 말하는 것에 대해서는 꽤 잘 맞는 것입니다. – inkedmn

답변

1

비디오/오디오 용으로 사용할 수있는 라이브러리의 범위뿐만 아니라 오디오/비디오 처리에서 성능 문제가 자주 발생하기 때문에 C++가 가장 먼저 선택됩니다.

Java에 익숙해지는 것이 중요합니다. 당신이 시간 동안 누르는 경우에, 이것은 훨씬 중요하다. 그러나 학습을 위해 약간의 시간을 할애 할 수 있다면 C++은 그만한 가치가 있습니다.

.NET 관련 정보 : 필요한 모든 것을 갖춘 .NET SDK는 freely downloadable입니다. SharpDevelop과 같은 무료 IDE를 사용하면 제대로 작동합니다. 비용이 비싼 Visual Studio이지만 .NET 개발을 수행하는 데 Visual Studio가 필요하지 않습니다.

+0

.NET 팁에 감사드립니다. Mono가 얼마나 안정적인가요? 정말 쓸모있어? – Anoop

+0

나는 Mono를 2008 년 7 월경에 마지막으로 살펴 보았습니다. 사용 가능한 기능이 상당히 안정적이라고 생각하지만, Windows에서 구현 된 모든 것이 Linux/OSX에서 사용 가능하지는 않습니다. 예 : .NET Windows Forms 기반 응용 프로그램은 복잡한/고급 UI 컨트롤을 사용할 필요가없는 한 다양한 플랫폼에서 잘 작동합니다. Linux/OSX에서 웹 브라우저 컨트롤이 잘 작동하지 않는 몇 가지 문제가있었습니다 (그러나 Windows에서는 문제가 없습니다). 앱에서 복잡한 UI없이 할 수 있다면 Mono가 좋을 것입니다. – Ash

2

쉬운 크로스 플랫폼 마이그레이션은 보너스가됩니다.

오디오 및 비디오는 지원되는 각 플랫폼에 대해 전용 네이티브 라이브러리와 JNI-wrappers를 처리한다는 것을 의미합니다. 이 경우 Java에 대한 플랫폼 간 인수는 실제로 적용되지 않습니다.

+0

이 동의했습니다. 하지만 이미 많은 자바 래퍼를 사용할 수 있습니다. 나는 창과 리눅스 만 타겟팅하고있다. – Anoop

0

Rusty.in,

어떻게 JavaFX Media API을하려고에 대해. 최근 JavaFX의 버전은 GUI 응용 프로그램에서도 1.2.0입니다. 그것은 스윙을 지원합니다. 문법은 스크립트 스타일을 기반으로합니다. 그러나 기존 Swing 구성 요소를 JavaFX에 배포 할 수 있습니다.

도움이되기를 바랍니다.

타이거

+0

감사합니다; 시도해 볼 것입니다. – Anoop

2

난 당신이 오디오/비디오 응용 프로그램을 작성하고자 할 때, 당신이 사용하는 프로그래밍 언어가 두 번째로 중요한 일이 있다고 생각합니다. 가장 중요한 것은 응용 프로그램에서 사용할 오디오/비디오 프레임 워크가 사용자의 기능을 정의하기 때문입니다.

저는 DirectShow 및 ffmpeg와 같은 대부분의 멀티미디어 형식에 액세스 할 수있는 두 가지 일반적인 비디오 프레임 워크를 알고 있습니다. DirectShow는 창과 연결되어 있으므로 ffmpeg 만 남아 있습니다.

Ffmpeg는 Windows와 유닉스 모두에 버전이 있으며, C로 작성되었지만 많은 언어에서 사용할 수 있습니다.

ffmpeg 용 자바 래퍼도 있습니다 (예 : xuggle).

3

관심이 있으시면 Xuggler을 확인하십시오. FFmpeg의 모든 기능을 제공하지만 Windows, Mac 및 Linux에서 실행되는 Java API로 제공됩니다. 이점은 FFmpeg의 모든 기능을 Java에서 가져 오는 것입니다. 단점은 FFmpeg 네이티브 DLL/공유 라이브러리가 설치되어야한다는 것입니다.

0

녹슨, 무엇을하고 있었습니까? 나도하고 싶은 비디오 앱을 가지고 있지만 C/C++보다 Java/JavaFX를 선호한다. Flash 및/또는 현재 JavaFX 비디오 지원 사용에 관한 사항은 Flash 비디오 재생이 프레임 정확하지 않다는 것입니다. QuickTime으로 할 수있는 것처럼 개별 프레임을 정지/시작/진행할 수 있어야합니다.

Xuggler 및 Java/JavaFX로 재생을 시도한 사람이 있습니까?

+0

Cameron, 마침내 C# 경로를 사용하기로 결정했습니다 (Ash가 위에서 제안한 것처럼 SharpDevelop 사용). 저는 아직 빨리 끝내지 않았습니다. 현재는 Windows에만 초점을 맞 춥니 다. – Anoop

+0

나는 결국 C#도 버렸다. Qt, Python 및 libVLC를 사용했습니다. 좋은 조합이었습니다. Linux에서 개발하고 Windows에 배포했습니다. – Anoop