各種操作
プルストリーム
EMSは、ストリームプロトコルの再カプセル化を行う非常に堅牢なプラットフォームを提供します。つまりEMSによって、ひとつのストリーミングプロトコルから他のストリーミングプロトコルへの変換が可能となり、元のvideo/audioソースの設定方法に関係なく、多様なクライエント向けにアクセスを可能とします。
プロトコルの再カプセル化を実現する為の最初のステップは、元のストリームをEMSに取り込む事です。
最も一般的な方法はプルストリーム(Pull a Stream)による方法ですが、外部のシステムからEMSのストリームをプッシュする事も可能です。
pullStream APIは、EMSが既存のストリームを取得するように指示します。
プルの設定
さまざまな形式でストリームを取得(プルストリーム)する方法を以下に示します。
RTMPストリーム
RTSPストリーム
RTP-UDPストリーム
MPEG-TSストリーム
UDP MPEG-TSストリーム
これはマルチキャストストリームにも使用できます。ストリームのアドレスがIPマルチキャスト範囲内にある場合、EMSは自動的にマルチキャストグループに参加してストリームをプルできるようにします。
TCP MPEG-TS
上記のURIでmpegts(dmpegts)の前にある"d"は"deep parsing"を意味します。このURIを使用する事で、インバウンドMPEG-TSストリームをRTMPやRTSP等の他のプロトコルに再カプセル化する事ができます。
出力フォーマットがMPEG-TSのみの場合(EMSをMPEG-TSパススルーとして使用する場合など)、mpegtsudp及びmpegtstcpをURIプロトコル指定として使用することが可能です。この場合はパースの必要がないのでMPEG-TSストリームの転送が高速化されます。
LOCAL SDPファイル
EMSはSession Description Protocol(SDP)ファイルをプルすることも可能です。
SDPはストリーミングメディアセッションの初期化パラメータの記述フォーマットです。SDPはメディアそのものの配信は行わず、メディアタイプ、フォーマット、及び全ての関連プロパティのエンドポイント間のネゴシエーションに使用されます。
注:SDPはEMSからアクセス可能なファイルシステムに存在している必要があります。
JSON CLI レスポンス
API呼び出し
JSONレスポンス
Command entered successfully!
Stream rtmp://s2pchzxmtymn2k.cloudfront.net/cfx/st/mp4:sintel.mp4 enqueued for pulling
configId: 1
forceTcp: false
keepAlive: true
localStreamName: testpullstream
uri:
fullUri: rtmp://s2pchzxmtymn2k.cloudfront.net/cfx/st/mp4:sintel.mp4
port: 1935
scheme: rtmp
プルストリームの再生
EMSにストリームが追加されたら、さまざま方法でアクセスする事が出来ます。EMSのストリーミングプロトコル変換機能により、ターゲットプレーヤーが使えるフォーマットでリクエストをするだけであとはEMSが適切に処理をおこないます。
EMSでプルストリームを再生する際の基本的なコマンドは以下の通りです。
RTMP
RTMP URIフォーマット
RTMPストリームを再生するには、下記のURIをFlash対応プレーヤーで使用します。
RTSP
RTSP URIフォーマット
このコマンドは"appName"フィールドが無い事を除けばRTMPととてもよく似ています。
RTSPストリームを再生するには、下記のURIをRTSP対応プレーヤーで使用します。
EMSはデフォルトでvideo/audioペイロードデータをRTP経由で送信します。MPEG-TSが必要な場合は、下記のリクエストURIを指定します。