簡単に言うと、プロセス全体: JavaWebStart(jlnp)を使用してWebページのリンクを介して、ユーザーはJavaで記述されたSwingアプリケーションを起動します。これにより、デスクトップのスクリーンショットが毎秒作成されます。この後、ビデオストリームとしてエンコードし、このストリームをWowzaサーバーに送信します。Wowzaは、このストリームを任意の数のユーザーに再ストリーミングでき、フラッシュプレーヤーを介してストリームにアクセスできます。
詳細な手順:
1. Wowza(必須)をインストールします。
さらに、wowzaインストールディレクトリを[wowza-root]と呼びます。
ステップチェック:インストールが完了した後–起動–すべてのアプリケーション– Wowza Media Server 3.5.0 –Wowzaの起動。サーバーが起動し、メッセージが表示されるタイミング
“Wowza Media Server is started!”
ブラウザを開いて次のように入力します。
http://localhost:1935/
次のように表示されます。
Wowza Media Server 3 Developer Edition (Expires: авг 03, 2013) 3.5.0 build2989
もしそうなら–私たちは最初のステップで完了です。
2. Wowzaでサンプルムービーを起動します(オプション)。
次のステップ–実際にコンテンツをストリーミングすると、[wowza-root]に必要なものがすべて揃っています。
- ディレクトリ[wowza-root]\examplesを入力してください
- RightMouseはinstallall.batをクリックし、「管理者として起動」を選択して、必要なすべてのプレーヤーをインストールします。
- dir [wowza-root] \ examples \ VideoOnDemandStreaming \ FlashHTTPPlayer **と入力し、** player.htmlをクリックして、ブラウザーでこのファイルを起動します。[接続]をクリックします。
ステップチェック:ウサギについての面白い映画を見る必要があります。この映画をここで提出できます:[wowza-root] \ content \ sample.mp4
3. SWING-デスクトップを共有するためのアプリ(必須)。
サーバーが稼働しています(WOWZA IS RUNNING)。次に、デスクトップのスクリーンショットを作成するアプリケーションを起動します。幸いなことに、それはすでにDele Olajideによって書かれています、神はこの男を祝福します。詳細についてはこのリンクを確認してください(http://code.google.com/p/red5-screenshare/)。ダウンロードするにはこのリンクを確認してください( http://code.google.com/p/red5-screenshare/downloads/list)– screenshare.zipファイルをダウンロードする必要があります。
任意のディレクトリに解凍します。bat-fileからこのアプリを起動することから始めます。解凍されたディレクトリには、すでに2つのbatファイル(do_run1.batとdo_run2.bat )があります。このファイルの1つをコピーして、do_run_my.batという名前を付けたところ、内容は次のようになります。
"C:\Program Files\Java\jdk1.6.0_26\bin\java" -classpath screenshare.jar org.redfire.screen.ScreenShare localhost screenshare 1935 ss1 flashsv1
pause
どこ
- "C:\ Program Files \ Java \ jdk1.6.0_26 \ bin \ java" –Javaへの正しいパス
- screenshare.jar –使用する必要のあるjar(解凍されたフォルダーにあります)。
- org.redfire.screen.ScreenShare –メインクラス
- localhost –Wowzaのホスト
- screenshare –アプリケーション名(重要)
- 1935年–ウォウザ港
- ss1 –ストリーム名(重要)
- flashsv1 –ビデオストリームのエンコーディング。
変更する必要があるのは、Javaへの正しいパスを設定することだけです。今すぐ起動できます!
ステップチェック:アプリケーション画面が表示されます。大成功!ただし、[共有の開始]ボタンをクリックすると、コンソールでエラーが発生し、そのscreenshareアプリケーションフォルダーがWowzaにありません。それはOKであり、今私たちが正しい軌道に乗っていることを意味します。SWINGアプリケーションを終了します。
[ERROR] [New I/O client worker #2-1] org.redfire.screen.ScreenClientHandler - closing channel, server resonded with error: [0 COMMAND_AMF0 c3 #0 t0 (0) s207] name: _error, transactionId: 1, object: null, args: [{level=error, code=NetConnection.Connect.Rejected, description=Connection failed: Application folder ([install-location]/applications/screenshare) is missing., clientid=8.87236417E8}]
4. SWING APPからのストリームを受け入れるようにWOWZAを構成します(必須)。
- [wowza-root] \ Applicationsと入力し、そこにscreenshareという名前のフォルダーを作成します(注–これはSWING-appのapplication-nameとまったく同じ名前です)
- [wowza_root] \ confと入力し、フォルダーscreenshare を再度作成します。
- [wowza_root] \ confには、 Application.xmlという名前のファイルがあります。このファイルを、作成した[wowza_root] \ conf\screenshareフォルダーにコピーします。
Application.xmlのいくつかのプロパティを変更します。次の値を設定します。
StreamType = live HTTPStreamers = cupertinostreaming、smoothstreaming、sanjosestreaming LiveStreamPacketizers = cupertinostreamingpacketizer、smoothstreamingpacketizer、sanjosestreamingpacketizer PlayMethod = none
Wowzaを再起動します。
ステップチェック: bat-fileを介してSWING-APPを再度起動します。エラーの代わりに、次のようなものが表示されるはずです。これは、サーバーとの接続が確立されていることを意味します。
[INFO] [New I/O client worker #1-1] org.redfire.screen.ScreenClientHandler - onStatus code: NetStream.Publish.Start
+++ [0 VIDEO c5 #1 t166 (0) s255355]
+++ [1 VIDEO c5 #1 t1169 (1003) s116522]
+++ [1 VIDEO c5 #1 t2171 (1002) s53049]
+++ [1 VIDEO c5 #1 t3178 (1007) s53667]
5.ストリームを監視します(オプション)。
今、最も楽しい部分–このすべてのスタッフがどのように協力しているかを確認します。- [wowza-root] \ examples \ LiveVideoStreaming \ FlashRTMPPlayer **と入力し、**player.htmlを起動します。以下の両方のパラメーターで、アプリケーション名とストリーム名が使用されていることに注意してください。これは、SWING-APPで構成したものとまったく同じです。
Server: rtmp://localhost/screenshare
Stream: ss1
そして、「接続」ボタンをクリックします。
ステップチェック:共有デスクトップが表示されます!これでタスクは完了です–少なくともその初期段階。
6. Web上でFlash-Playerを起動する(オプション)
すばらしい!これで、実用的なソリューションができました。まだ実行されていないことが1つだけあります。それは、Windowsディレクトリからプレーヤーを起動しており、Web上の他のユーザーがアクセスできないことです。だから–何が問題なのか、それを展開しましょう。
7.静的ではなく動的ストリーム名に移動する(オプション)
お気づきかもしれませんが、現在、画面共有は機能していますが、構成を介してSWING-APPにストリーム名を提供しているため、複数のユーザーに同時に使用する方法はありません。取り扱い方法については詳しく説明しませんが、簡単に説明します。
screenshare.jarを確認すると、このjarには実際にSWINGアプリケーションのコンパイル済みおよびソースコードがすべて含まれていることがわかります。ソースを変更し、必要に応じて初期アプリを作り直すことができます。私の場合、提供されたストリーム名とメッセージウィンドウに現在の時刻をミリ秒単位で追加しました。このウィンドウには、[ストリームの開始]ボタンをクリックすると次のように表示されます。
Send this link to any person you want to share you screen with:
http://localhost:8080/player.htm?src=rtmp%3A%2F%2Flocalhost%3A1935%2Fscreenshare%2Fss1360243745881
リンクにあるように、プレーヤーコードが埋め込まれたHTMLページが配置されているURLに、クエリ文字列としてストリームアドレスを追加するだけです。また、このページのコードを提供したいと思います。その非常に単純な– javascriptの助けを借りて、リクエスト文字列からパラメータを抽出し、抽出されたパラメータをp.6の埋め込みコードを含むHTMLページのどこに配置するか
<html>
<head></head>
<body>
<SCRIPT LANGUAGE="JavaScript">
var myQueryString = document.location.search;
// remove the '?' sign if exists
if (myQueryString[0] = '?') {
myQueryString = myQueryString.substr(1, myQueryString.length - 1);
}
document.write(
'<object width="600" height="409">\n' +
'<param name="movie" value="http://fpdownload.adobe.com/strobe/FlashMediaPlayback.swf" />\n' +
'</param>\n' +
'<param name="flashvars" value="' + myQueryString +'" />\n' +
'</param>\n' +
'<param name="allowFullScreen" value="true" />\n' +
'</param>\n' +
'<param name="allowscriptaccess" value="always" />\n' +
'</param>\n' +
'<embed src="http://fpdownload.adobe.com/strobe/FlashMediaPlayback.swf" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="600" height="409" flashvars="' + myQueryString +'"></embed>\n' +
'</object>'
);
</SCRIPT>
</body>
</html>
以上です。誰かの時間を節約できることを願っています。幸運を