0

しばらく前に、次のことを行う必要があるプロジェクトを開始しました。

  • 動画を再生:
    • 一般的な形式 (avi、mpeg、xvid など)
    • プログラムでストリームを一時停止および再配置できる。
    • 再生速度を設定できる (必須ではありませんが望ましい)
  • 再生コンポーネント上にカスタム グラフィック (ビデオとの同期を維持) をペイントさせてください。
  • 現在のフレームにラスター イメージとしてアクセスできるようにします (これは必須ではありませんが、望ましいものです)。

また、使いやすくする必要があります (たとえば、ビジュアル コンポーネント指向、マルチメディア ストリームの内部構造をあまり扱いたくありません)。

関連するコードを Java で記述していたので、見つけたすべての Java ライブラリ (JMF、FMJ、JVLC、Jffmpeg、gstreamer-java) を試してみましたが、厳しい要件 (たとえば、フレームの上に描画するには、一時停止または巻き戻しができなかった、フル機能のものは時代遅れだったなど)、プロジェクトを保留しました。

今、私はカムバックの気分にあり、他の言語でコードを書き直すことを気にしません (Java と同等以上のレベルですが、C や C++ はやめてください。私は怠惰になりすぎました :-p)優れた GUI フレームワークやリッチ クライアント プラットフォームも自由に利用できます。私は Linux での開発とテストが好きなので、マルチプラットフォームであることは良い点ですが、より多くのユーザーにリーチしたいので、Windows をターゲットにできることは必須です。

では、どの言語とフレームワークをお勧めしますか?

4

6 に答える 6

3

Qtのフォノン。Qt は Java でもQt Jambiとして利用できます。

于 2009-05-28T19:50:25.813 に答える
3

Windows のみを使用することをまったく恐れていないのであれば、WPF は、要求のすべてではないにしても、ほぼすべてに応答するはずです。

C# およびすべての .net 言語で使用できます。

于 2009-06-08T10:59:59.400 に答える
1

検討できるもう 1 つのフレームワークは、mlt フレームワークです: http://mltframework.org/

素晴らしいデザインで、C で書かれており、言語バインディング (java、perl、php、python、ruby、tcl) に SWIG を使用しています。主要なプラットフォームのほとんどで実行されていることは知っています。

その機能を理解するには、最もアクティブなユーザーである素晴らしい NLE kdenlive をチェックしてください。

于 2009-06-04T16:44:21.287 に答える
0

埋め込まれたWebブラウザーは、指定された要件を処理します。

  • ビデオ再生(mplayerまたはvlcプラグインを使用)
  • 再生を制御する高級言語(javascript)
  • オーバーレイ/GUI(HTML + CSS + PNG / SVG)

現在のフレームをラスターするには、フレームをディスクにダンプしてから<img>として読み戻すカスタムffmpegが必要になる場合があります。

于 2009-06-07T18:25:37.870 に答える
0

あなたは gstreamer-java を試したと言います。たぶん、バインディングはそれほど良くないのですか?Gstreamer なら、あなたが求めるすべてのことを実行できると確信しています。おそらく、代わりに Python バインディングを確認する必要があります。Python は Gstreamer 開発者にとって第一級の市民であるため、バインディングは常に完全で最新である必要があります。

Python には、複数のクロスプラットフォーム GUI フレームワークも用意されています。個人的には、libglade を使用した GTK が好きです。これは、glade を使用して GUI を構築するのが非常に簡単で、それが XML ファイルであるためです (GTK は Windows でも実行されるため、問題はありません)。他のものを好む場合は、Qt、wxWidgets、および Tk があり、これらはすべて Linux と Windows で実行されます (MacOSX も想定しています)。

于 2009-06-01T22:00:34.410 に答える