ADOBE® MEDIA SERVER 5.0.3
デベロッパーズガイド
翻訳:株式会社サムライズ |
注意
Adobe Media Server® バージョン 5についての本ドキュメントは第三者によって翻訳されたものであり、Adobe Systems Incorporated(アドビ システムズ社)は本翻訳物の正確性や完全性を査閲していません。
Adobe Media Server は、オーディオおよびビデオのライブコンテンツを、Flash Player、AIR および Flash Lite クライアントにブロードキャストできます。ライブコンテンツのキャプチャとエンコードを行い、Adobe Media Server にストリーミングするには、Adobe Media Live Encoder を使用するか、カスタムの Flash Player または AIR アプリケーションを作成します。
ライブイベントをリアルタイムでキャプチャし、多数の聴衆にストリーミング送信したり、ライブのオーディオとビデオを含むソーシャルメディアアプリケーションを作成したりすることができます。例えば、Adobe®Acrobat®Connect™Pro は、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/ を参照してください。
関連項目
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.カメラでキャプチャしたビデオとマイクでキャプチャしたオーディオをパブリッシュします。最初に、カメラおよびマイクのデータのリファレンスを取得します。サーバーに作成した NetConnectionに NetStreamオブジェクトを作成します。次に、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