2009-07-22 5 views
2

私は多くのオーディオ/ビデオ入力と出力を持つアプリケーションのコンセプト段階にあります。私はJavaでやりたいどういうわけかまだ完全には確信していません。どう思いますか?どのように悪いことができますか?そしてどんなアドバイスですか?ビデオベースのJavaアプリケーション:良い選択ですか?

なぜ私は、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

私は最後に2008年7月にMonoを見ました。私は利用可能な機能はかなり安定していると思いますが、Windows上で実装されたすべてがLinux/OSX上で利用可能ではありませんでした。たとえば、複雑な/高度なUIコントロールを使用する必要がない限り、.NET Windowsフォームベースのアプリケーションはプラットフォーム間でうまく機能しました。私はWebブラウザコントロールがLinux/OSX上でうまく動作しないという問題をいくつか持っていましたが(Windowsでは問題ありません)あなたのアプリで複雑なUIなしで行うことができます場合は、モノはうまくいくはずです。ありがとうございます; – Ash

2

より簡単なクロスプラットフォームの移行は、ボーナスになります。

オーディオとビデオは、サポートされているプラ​​ットフォームごとに専用のネイティブライブラリとJNIラッパーを扱うことを意味します。この場合、Javaのクロスプラットフォームの引数は実際には適用されません。

+0

が合意しました。しかし、私はすでに多くのラッパーがJava用に利用可能であることを知っています。私はWindowsとLinuxだけをターゲットにしています。 – Anoop

0

Rusty.in、JavaFX Media APIをやろうとしている程度

方法。最近、JavaFXのバージョンはGUIアプリケーションの1.2.0です。 Swingをサポートしています。文法はスクリプトスタイルに基づいています。ただし、既存のSwingコンポーネントをJavaFXにデプロイできます。

私はそれが役に立ちそうです。

タイガー

+0

;それを試してみましょう。 – Anoop

2

私はあなたがオーディオ/ビデオ・アプリケーションを作成するときに、あなたが使用するプログラミング言語が第二の最も重要なことであると考えています。最も重要なことは、アプリケーションが使用するオーディオ/ビデオフレームワークであり、これがあなたの能力を定義するからです。

私は、DirectShowとffmpegというほとんどのマルチメディアタイプにアクセスするために使用できる2つの一般的なビデオフレームワークを知っています。 DirectShowはウィンドウと結びついているので、ffmpegだけが残されます。

FfmpegにはWindowsとUNIXの両方にバージョンがあり、C言語で書かれていますが、多くの言語から使用できます。

ffmpegのためのいくつかのJavaラッパーがあります(例えば、xuggleを見てください)!

3

興味がある場合は、Xugglerをご覧ください。 FFmpegのすべての機能を公開していますが、Windows、Mac、Linux上で動作するJava APIとして公開しています。利点はFFmpegのすべての力を得ることですが、Javaからです。欠点は、FFmpegのネイティブDLL /共有ライブラリをインストールする必要があることです。

0

あなたは何をしていましたか?私もやってみたいビデオアプリを持っていますが、実際にJava/JavaFXをC++よりも好むでしょう。 Flashおよび/または現在のJavaFXビデオサポートを使用することについての点は、Flashビデオの再生がフレーム精度ではないことです。できるだけQuickTimeでできるように、個々のフレームを停止/開始/ステップすることができる必要があります。

誰もXugglerとJava/JavaFXで再生しようとしましたか?

+0

キャメロン、私は最終的にC#のルートを取ることに決めました(Ashは前述のようにSharpDevelopを使用しました)。 私はまだそれが完了していない、現在のところ、Windowsのみに焦点を当て、私は迅速かつ汚れている実行中のアプリケーションを取得するまで。 – Anoop

+0

私は結局C#も捨てました。 Qt、Python、およびlibVLCに入った。良い組み合わせだった。 Linux上で開発し、Windows上に展開しました。 – Anoop