ADOBE®   MEDIA SERVER 5.0.3

デベロッパーズガイド


翻訳:株式会社サムライズ

 

注意

Adobe Media Server® バージョン 5についての本ドキュメントは第三者によって翻訳されたものであり、Adobe Systems Incorporated(アドビ システムズ社)は本翻訳物の正確性や完全性を査閲していません。

 

5ビデオの操作

 

 

Adobe Media Server は、オーディオおよびビデオのライブコンテンツを、Flash PlayerAIR および Flash Lite クライアントにブロードキャストできます。ライブコンテンツのキャプチャとエンコードを行い、Adobe Media Server にストリーミングするにはAdobe Media Live Encoder を使用するかカスタムの Flash Player または AIR アプリケーションを作成します。

ライブイベントをリアルタイムでキャプチャし、多数の聴衆にストリーミング送信したり、ライブのオーディオとビデオを含むソーシャルメディアアプリケーションを作成したりすることができます。例えば、Adobe®Acrobat®ConnectPro は、Adobe Media Server を使用してライブのオーディオとビデオのキャプチャおよびブロードキャストを行う Web 会議アプリケーションです。

 

ライブビデオのキャプチャ

 

ライブビデオをキャプチャするための Flash Media Encoderの使用

Flash Media Live Encoder は、ライブビデオのキャプチャ、エンコードおよ Adobe Media Server へのストリーミングを行うフリーのアプリケーションです。デフォルトでは、Flash Media Live Encoder はビデオを rtmp://localhost/liveのライブサービスにストリーミングするように設定されています。

 

Adobe Media Server は、ライブサービスからストリーミング再生が可能なサンプルのビデオ Player と共にインストールされます。ビデオ Player は、rootinstall\samples\videoPlayer フォルダーにインストールされます。

 

サンプルビデオPlayer Open Source Media Frameworkに基づいて構築された Strobe Media Playback をベースにしています。詳細については、osmf.orgを参照してください。

 

Flash Media Live Encoder の詳細についてはwww.adobe.com/jp/products/flashmediaserver/flashmediaencoder/ を参照してください。

 

関連項目

ライブメディアのストリーミングRTMP

 

例:カスタムビデオキャプチャアプリケーション

ActionScript 3.0 のアプリケーション構築手順は次のとおりです。

•   ビデオをキャプチャしエンコードします。

•   キャプチャした状態でビデオを表示します。

•    ビデオをクライアントから Adobe Media Server にストリーミングします。

•    逆にビデオを Adobe Media Server からクライアントにストリーミングします。

•   サーバーからストリーミングされたビデオを表示します。

注意このコードをテストするには、サーバーに rootinstall/applications/publishlive フォルダーを作成します。次に、rootinstall/documentation/samples/publishlive/PublishLive.swf  ファイルを開いてアプリケーションに接続します。

1. 新規 .as ファイルで、NetConnection オブジェクトを作成します。サーバーに接続するには、アプリケーションの URI NetConnection.connect() メソッドに渡します。


var nc:NetConnection;

var ns:NetStream;

var nsPlayer:NetStream;

var vid:Video;

var vidPlayer:Video;

var cam:Camera;

var mic:Microphone;

 

nc = new NetConnection();

nc.addEventListener(NetStatusEvent.NET_STATUS, onNetStatus);

nc.connect("rtmp://localhost/publishlive");

2. NetStatusEvent イベントを処理する関数を定義します。クライアントがサーバーへの接続に成功すると、コードがアプリケーションを実行する関数を呼び出します。

 

function onNetStatus(event:NetStatusEvent):void{

trace(event.info.code);

if(event.info.code == "NetConnection.Connect.Success"){

publishCamera();

displayPublishingVideo();

displayPlaybackVideo();

}

}

 

3.カメラでキャプチャしたビデオとマイクでキャプチャしたオーディオをパブリッシュします。最初に、カメラおよびマイクのデータのリファレンスを取得します。サーバーに作成した NetConnectionNetStreamオブジェクトを作成します。次にNetStream.attachCamera()を呼び出して、キャプチャしたビデオを NetStreamオブジェクトに割り当てます。NetStream.attachAudio()   を呼び出してライブオーディオを割り当てます最後にNetStream.publish("streamName",   "live") を呼び出して、オーディオとビデオをサーバーに送信します。

 

function publishCamera() {

cam = Camera.getCamera();

mic = Microphone.getMicrophone();

ns = new NetStream(nc);

ns.attachCamera(cam);

ns.attachAudio(mic);

ns.publish("myCamera", "live");

}

 

4. クライアントがサーバーにストリーミングしているビデオを表示しますVideo オブジェクトを作成しますVideo オブジェクトは表示オブジェクトですVideo.attachCamera(cam) を呼び出して、カメラのビデオフィードをビデオオブジェクトに割り当てますaddChild(vid) を呼び出して、Video オブジェクトを表示リストに追加し、Flash Player に表示されるようにします。

 

function displayPublishingVideo():void {

vid = new Video();

vid.x = 10;

vid.y = 10;

vid.attachCamera(cam);

addChild(vid);

}

 

5. サーバーがクライアントにストリーミングしているビデオを表示します。クライアントがストリームを作成してサーバーに送信する処理は「パブリッシュ」と呼ばれます。一方、クライアントがストリームを再生する処理は「サブスクライブ」と呼ばれます。この例では、クライアントはストリームをパブリッシュし、ストリームにサブスクライブします。クライアントでは、送信(パブリッシュ)ストリームと受信(サブスクライブ)ストリームの 2 つのストリームを作成する必要がありますこの例では送信ストリームは ns受信ストリームは nsPlayerです同じ NetConnectionオブジェクトを両方のストリームに使用することができます。

 

サーバーから返されたオーディオとビデオを再生するにはNetStream.play() を呼び出し、パブリッシュしたストリームの名前を渡します。受信ビデオを再生するにはVideo.attachNetStream()        を呼び出します。

function displayPlaybackVideo():void{

nsPlayer = new NetStream(nc);

nsPlayer.play("myCamera");

vidPlayer = new Video();

vidPlayer.x = cam.width + 20;

vidPlayer.y = 10;

vidPlayer.attachNetStream(nsPlayer);

addChild(vidPlayer);

}

 

ActionScript を使用して、再生の制御、ビデオのフルスクリーン表示、キューポイントの使用およびメタデータの使用が行えるようにします。詳細については、ActionScript 3.0 デベロッパーズガイド』の「ビデオの操作」の章を参照してください。

 

 

 

最終更新日 2013/9/30