-1

これは、製品開発のための技術決定に関する一般的な質問です。私の目的は、オーディオおよびビデオ通信を使用したWebベースのリモートサポート(デスクトップ共有アプリケーション)を開発することです。

私の理想的な解決策は、クライアント側が常にブラウザで実行されることを意味するWeb製品として開発することです。クライアントテクノロジーはJavaScript(Google GWTを使用)であり、デスクトップキャプチャ、デスクトッププレゼンテーション、オーディオおよびビデオにはJavaアプレットを使用したいと思います。

サーバー側は、データベースバックエンド(HibernateおよびSQLベースのデータソース)でJavaサーブレットテクノロジを使用して実行されます。データストリーミングの場合、UDPを介したRTP / RTSPトランスポートを使用する予定です(デスクトップデータの場合、内部プロトコルはVNC( RFB)になりますが、トランスポートはRTP自体になります)。オーディオとビデオの場合、転送にはRTPが使用されます。

私の基本バージョン(プロトタイプ)はリレーサーバーを使用して動作します。つまり、クライアントは常にサーバーに接続し(ログオン、認証、セッション制御)、サーバーは常にピア間でデータをリレーします。

私の質問は-私の技術の決定は正しいですか?つまり、マルチプラットフォームのサポートがあるため、純粋なJavaを使用することにしました。現在、より高度なデスクトップサポートを備えたSilverlightがありますが、1つのプラットフォーム(Windows)のみに制限されています。

また、オーディオ/ビデオテクノロジーに対するJavaのサポートも恐れています。RTP / RTSP、オーディオおよびビデオのキャプチャ/ディスプレイをサポートしているように見えるJMF(Java Media Foundation)を見たことがありますが、このパッケージは非常に古くなっています。あなたはそれについてどう思いますか?

実際の画面キャプチャでは、AWTRobotクラスから始めます。高性能のデスクトップキャプチャには、APIフックやミラードライバなどのより低レベルの手法が必要であることは知っていますが、私のプロトタイプは画面キャプチャに1 FPSを提供することを目的としているため、JavaRobotがそれを実現すると信じています。

4

2 に答える 2

1

Java アプレットはそれを行うことができますが、最近では少し古いものになっています。Java 用語で言えば、最近ではJava Web Start (より適切な Google キーワードは JNLP) とJavaFXの選択肢もあります。新しい言語を学ぶことをためらわず、本物のRIAが必要な場合は、JavaFX を選択してください。それ以外の場合は、Java Web Start AKA JNLP が最適です。Java を使用すると、すべてがセキュリティ制限の境界内にある限り、クライアント アプリケーションであるかのようにすべてを行うことができます。

JavaFX チュートリアルおよびWeb Start チュートリアルの使用チュートリアルを次に示します。

于 2009-11-09T15:20:49.777 に答える