ネットワークの概要
Docokame@MSS Media Streaming Serverは、Windows OS上でDocokame Streaming Media PlayerにストリーミングするためのUMSプロトコルをサポートしています。ウェブブラウザでHTML5 <video>にストリーミングするためのWebRTCプロトコル。HTML5へのストリーミングのためのWebSocket-video / mp4プロトコル<video> WebブラウザのMedia Source Extensions; Flash対応OS上でFlash PlayerにストリーミングするためのRTMPおよびRTMPTプロトコル。MS SilverlightおよびWindows Media Playerへのストリーミング用のスムーズおよびMS-WMSPプロトコル。iOSやその他のHLS対応プレーヤーやデバイス用のApple HTTPライブストリーミング(HLS)セットトップボックスにストリーミングするためのMPEG2-TSプロトコル。
サーバがHLS、MS Smooth、MPEG2-TSプロトコルを使用してストリーミングする場合、プレーヤはWebサーバ(HLSおよびMSスムーズストリーミング)から直接フラグメント化されたストリームを受信するか、IPアドレスのUDPポートからMPEG2-TS)。このような場合、サーバーはプレーヤーまたは同時視聴者の数について何も知らない。
逆に、WebRTC、WebSocket-video / mp4、RTMP、MS-WMSP、およびUMSプロトコルを使用してストリーミングする場合、プレーヤーはMedia Serverへの直接接続を開始します。サーバは認証を実行し、同時のプレーヤを追跡することができます。すべてのプレーヤーは、メディアサーバーのTCPポート5119(セキュアでない接続)または443(セキュアな接続)に接続します。これらのポートを設定することができます。上記のポートはWebRTCシグナリングにも使用され、実際のWebRTCメディアはポート5135を介してストリーミングされます。
このサーバーは、プッシュモードとプルモードの両方でライブストリームを受け入れる、幅広いライブソフトウェアとハードウェアエンコーダをサポートしています(唯一の違いは、接続を開始する側の唯一の違いです)。プルモードエンコーダには、RTSPソフトウェアエンコーダとIPカメラ、WMEのようなMS-WMSPエンコーダ; Docokameライブサーバー。RTMPサーバー HLSサーバー プッシュモードエンコーダには、WebRTC対応のWebブラウザ、FMLE、ffmpeg、モバイルアプリなどのRTMPパブリッシングエンコーダ、MPEG2-TS符号化装置; Docokame@SLS Software Live Server。
メディア処理エンジン:汎用トランスミキサー
異なるストリーミングプロトコルを介してメディアサーバーに到着するライブコンテンツは、これらのストリーミングプロトコルに固有の異なるコンテナ形式でパッケージ化されていることがわかります。たとえば、RTMPプロトコルは、FLVコンテナ形式でカプセル化されたメディアを送信します。MS-WMSPプロトコルは、ASFコンテナ内のメディアをラップします。同様に、Docokame Media Serverは記録されたコンテンツをストリーミングするとき、異なるコンテナフォーマット(MP4、FLV、ASFなど)でパッケージ化されたメディアファイルを扱います。メディアがディスク(ファイル)かネットワーク(ライブ)かにかかわらず、Media Serverは即座にそれをオーディオ - ビデオエレメンタリストリームにデマルチプレクスします。つまり、これらのストリームをコンテナから抽出します。ストリームは元の符号化形式のままです。サーバーはトランスコードやデコードを実行しません。様々なプレーヤーがメディアに接続して尋ねるとき、サーバはこれらのストリームをこれらのプレーヤによって必要とされるコンテナフォーマットに再パッケージ化し、これらのストリームをこれらのプレーヤによってサポートされるストリーミングプロトコルを介して送信する。たとえば、RTSPまたはWebRTCプロトコル経由でライブエンコーダから来て、RTPパッケージにカプセル化された同じH.264ストリームは、WebRTCプロトコル(RTPコンテナ)を介してWebブラウザのHTML5 <video> WebRTCプレーヤーに同時に配信できます。 WebSocketプロトコル(ビデオ/ mp4 ISO BMFFコンテナ)、HLSプロトコル(MPEG2-TSコンテナ)を介したiPAD / iPhoneへのHTML5 <video> WebブラウザのMSEプレーヤー、RTMPプロトコル(FLVコンテナ)経由でFlash Playerに送信する。また、Silverlight、Docokame Media Player、STBと同様に、適切なプロトコル/コンテナ形式を使用します。
サポートされている標準と仕様
WebRTC | W3C WebRTC仕様 |
WebSockets | IETF RFC6455 |
メディアソース拡張 | W3C MSE仕様 |
RTMP / RTMPT | フラッシュプロトコル |
RTSP | IETF RFC2326 |
H264、MPEG4ビデオover RTP | IETF RFC3984、 IETF RFC3640 |
AAC、MP3オーディオオーバーRTP | ISO / IEC 14496-3、 IETF RFC2250 |
MS-WMSP | Windows Mediaストリーミングプロトコル |
MPEG2-TS | ISO / IEC 13818-1 |
Apple HLS | HLSフォーマット |
MSスムーズストリーミング | スムーズなストリーミングプロトコル |
DMSプロトコルによるストリーミング
Docokame Streaming Media Playerおよびそのブラウザプラグインは、TCP、RTP(UDP)およびHTTP(S)トランスポートを介してユニキャストモードで、RTP(UDP)トランスポートを介してマルチキャストモードでDMSストリームを再生できます。TCP / UDP接続が失敗した場合、プレイヤーは自動的にHTTP転送に切り替えます。
DMSストリームは、mPlayerモバイルアプリでAndroidおよびiOSデバイスで再生することもできます。このモバイルプレーヤーは、DMS-TCPユニキャストモードのみ、H.264 / AVC1、AAC / MP3エンコードストリームのみをサポートします。
DMSプロトコルによるマルチキャスト
Docokame@MSS Media Streaming Serverは、無制限のライブソースと仮想フォルダの同時マルチキャストをサポートしています。第1の視聴者が接続し、ライブソースのマルチキャスト配信を要求すると、サーバはマルチキャストを開始する。最後の視聴者が切断すると、マルチキャストは停止されます。ファイルをマルチキャストする場合、
マルチキャスト配信を要求する場合、プレーヤーはまずDMS-TCP上のサーバーに接続します。サーバーはこのプレーヤーを認証し、この特定のブロードキャストのマルチキャストグループ情報を送信します。プレーヤーはこのマルチキャストグループに参加し、DMS-RTPマルチキャストを介してメディアパケットを受信します。
残念ながら、公共ISPはルータがマルチキャスト配信を許可していないため、ほとんどの場合、インターネットを介したマルチキャストは機能しません。
WebRTCプロトコル経由でブラウザのHTML5 <video>にストリーミング
Docokame@MSS Media Streaming Serverは、WebRTC-UDPおよびWebRTC-TCPトランスポートを使用して、WebRTCプロトコル経由でHTML5 <video>エレメントへの低遅延ライブストリーミングをサポートします。サポートされているブラウザ:Windows上のChromeとFirefox。iOSとMacのSafari; Android搭載のChrome シグナリング部分は、メインポート(デフォルトでは5119/443)を介してWebSocket(プレーンまたはセキュア)経由で処理されます。安全なWebSocketを使用するには、サーバーに有効なSSL証明書がインストールされている必要があります。実際のWebRTC ICE接続は、WebRTC接続(デフォルトでは5135)専用のDocokame@MSS Media Streaming Serverのあらかじめ定義された単一のポート経由で、またはランダムポート経由で確立できます。プレイヤーは、単一またはランダムなポートを使用するかどうかを選択できます。単一ポートを使用する場合(推奨)、サービスプロバイダーはファイアウォール/ NATルーター(シグナリングポート5119または443とともに)でポート5135を開くだけで済みます。ランダムポートを使用する場合、ファイアウォールですべてのポートを開く必要があります。または、Docokame@MSS Media Streaming Serverをファイアウォールで許可されたアプリとして追加する必要があります。Docokame@MSS Media Streaming ServerのWebRTC実装はピアツーピアソリューションではありません。これとは対照的に、WebRTCと他のストリーミングシステムとの完全な相互運用性を提供するサーバーベースのソリューションです。StunとTurnサーバは、Docokame@MSS Media Streaming ServerのWebRTC実装では使用されません。Webブラウザは常にDocokame@MSS Media Streaming Serverへの直接接続を作成します。ICEの設立は即時です。サーバベースのソリューションにより、マルチユーザビデオ会議が可能になります。WebブラウザのHTML5 <video>にハードウェアで生成されたライブストリーム(IPカメラとエンコーダ)の低レイテンシー再生。従来のプレイヤーやSTBでのWebRTC起源のライブストリームの再生と取り込み。Docokame@MSS Media Streaming Serverは、H264、VP8、VP9ビデオコーデック、Opus、G.711(PCMAおよびPCMU)オーディオコーデックでエンコードされたWebRTCストリームをサポートしています。
WebSocket-video / mp4プロトコルからHTML5へのストリーミング<video>ブラウザのMedia Source Extensions
HTML5の<video>要素のMedia Source Extensionsによるデコードおよび再生のためのISO BMFFビデオ/ mp4セグメントを送信することで、プレーンで安全なWebSocketを介した低遅延のライブストリーミングを実現します。Docokame@MSS Media Streaming Serverは、接続されたWebSocketごとにライブストリームのオンザフライセグメンテーションを実行します。H264およびAACエンコーディングが必要です。Windows、MAC、Android上の主要ブラウザはすべてHTML5 MSE再生をサポートしています。
HTTPS転送によるWebSocket-video / mp4およびUMSプロトコルによるストリーミング
Docokame@MSS Media Streaming Serverは、UMS-HTTPSおよびWSS(セキュアWebSocket)用のTLS1.2暗号化をサポートしています。サーバーには、有効なSSL証明書がインストールされている必要があります。HTTPS転送は、サーバーからプレーヤーへの途中で完全なストリーム保護を提供します。
MS-WMSP(MMSH)プロトコルによるストリーミング
Docokame@MSS Media Streaming Serverは、MS-WMSP(MMSH)プロトコルによるユニキャストストリーミングをサポートしています。ライブおよび録音されたオーディオ/ビデオは、その場でASFコンテナにカプセル化され、MMSHストリームを再生できる任意のOS上の任意のプレーヤーにHTTPペイロードとして送信されます。MMSストリーミングにはWMV(VC1)、WMAまたはMP3エンコーディングが必要です。Windows、MAC、Linux、
RTMP / RTMPTプロトコルによるストリーミング
Docokame@MSS Media Streaming Serverは、RTMP / RTMPTプロトコルを介してFlash Playerにライブソースおよびメディアファイルのユニキャストストリーミングをサポートしています。オーディオ/ビデオコンテンツは、その場でFLVコンテナにカプセル化され、サポートされるすべてのOS上のFlash Playerに送信されます。フラッシュストリーミングにはH264、AACまたはMP3エンコーディングが必要です。MKV、MP4、MP3、H264対応FLVファイル、
Apple HLSプロトコルによるストリーミング
Docokame@MSS Media Streaming Serverは、ライブソース(およびライブプレイリストタイプのライブブロードキャストを使用するファイル)のHLSストリーミングをサポートしています。サーバはセグメンタとして機能し、指定されたWebサーバフォルダにHLSチャンクを記録します。Docokame@MSS Media Streaming Serverに加えて、これらのチャンクファイルとm3u8プレイリストファイルをHLSプレーヤーに配信するには、Webサーバー(Webサーバーは問題ありません)を実行する必要があります。AES-128 HLS暗号化がサポートされています。HLSストリーミングにはH264、AACまたはMP3エンコーディングが必要です。
アダプティブビットレートストリーミング
ライブエンコーダがマルチビットレートのストリームをDocokame@MSS Media Streaming Serverにアップロードする場合、これらのストリームはWebSocket-video / mp4、HLS、およびRTMPプロトコルを介してプレーヤに配信できます。HLSの場合、Docokame@MSS Media Streaming Serverによって自動的に生成されるm3u8ファイルには、個々のビットレートm3u8ファイルへのリンクが含まれます。HLSプレーヤーは、使用可能な帯域幅に基づいてこれらのビットレートを切り替えます。RTMPの場合、サーバーは "Play2" RTMPコマンドをサポートしています。プレイヤーが「Play2」コマンドを送信すると、サーバーは別のビットレートストリームに切り替えます。WebSocket-video / mp4の場合、Docokame HTML5 MSEプレーヤーは、ネットワークの状態と配信パフォーマンスに基づいてサーバーに「スイッチ」コマンドを送信します。
MSによるストリーミングスムーズなプロトコル
Docokame@MSS Media Streaming Serverに加えて、Media Services拡張機能をインストールしたIIS7 Webサーバーを実行する必要があります。Docokame@MSS Media Streaming Serverは、Smoothストリーミングプロトコルを介してSmoothストリーミング公開ポイント(IISマネージャーツールで作成)にストリーム配信します。ストリームマニフェストおよびmp4エンコードチャンクは、HTTP Post要求を介してリアルタイムで送信されます。Silverlightプレーヤーなどのスムーズなストリーミングプレーヤーは、公開ポイントのURLに直接接続します。H.264 / AACおよびVC1 / WMAコーデックは、MSスムーズストリーミングでサポートされています。MSスムーズストリーミングは高レイテンシプロトコルです。あなたが得ることができる最高の待ち時間は10秒です。
MPEG2-TSプロトコルによるストリーミング
Docokame@MSS Media Streaming Serverは、MPEG2-TSプロトコルによるライブソースおよびメディアファイルのユニキャストおよびマルチキャストストリーミングをサポートしています。Media Serverは、UDPまたはRTPトランスポートを介してMPEG2-TSカプセル化ストリームを特定のIPアドレスにブロードキャストします。MPEG2-TSプレーヤーはMedia Serverにまったく接続しません。Media ServerがブロードキャストするIPアドレスに接続します。
User Authentication, access restrictions and DRM
Docokame@MSS Media Streaming ServerとDocokame Live Serverの設定プログラムにより、メディアリソースへのアクセスを完全に制御することができ、信頼できる当事者にのみ許可されます。管理者は、Media Serverが許可されたユーザーのみにアクセスを許可し、Live Serverは特定のMedia Serverのみにアクセスを許可することができます。Docokame@MSS Media Streaming Serverでは、内部認証とセッションベース認証の2種類のユーザ認証がサポートされています。Media Server Configurator(すべての仮想フォルダとライブブロードキャスト)で設定されたすべてのリソースは、匿名アクセスを許可するように設定することも、これらの2種類の認証のいずれかを行うこともできます。
完全なDRMは、UMSプロトコルを使用して再生する場合、これらの2種類のユーザー認証を使用し、HTTPSトランスポートを使用してストリームを暗号化することで達成できます(前述の「HTTPSトランスポートによるUMSプロトコルによるストリーミング」を参照)。
1.内部認証
認証とユーザ管理は、Docokame@MSS Media Streaming Serverによって直接処理されます。これは私たちの独自の認証メカニズムです。ユーザーは、Docokame Streaming Media Playerまたはそのブラウザプラグインで再生します。Media Server管理者はサーバー側でユーザーを作成する必要があります。ユーザーは、Media Server ConfiguratorまたはWebページを使用して管理できます(SDKのuseradminページを参照してください)。)。ユーザーは、基本、中、および上級の3つのユーザーグループのいずれかに所属できます。内部認証を使用するように設定されたリソースは、特定のユーザーグループへのアクセスを制限できます。ユーザーがこのようなリソースにアクセスしようとすると、Streaming Media Playerはユーザーにユーザー名とパスワードの入力を要求し、必要に応じてこれらの資格情報をユーザーのコンピューターに保持します。ユーザーの資格情報がMedia ServerのIPアドレスにバインドされているため、ユーザーが別のメディアサーバー上のリソースにアクセスすると、資格情報を再度入力するように求められます。
セキュリティ:ユーザーの資格情報は、強力な一方向ハッシュアルゴリズムで暗号化されてから、ネットワーク上で送信されます。これらの暗号化された資格情報は、ユーザーのコンピュータに保存されている場合(ユーザーがローカルで覚えている場合)、および管理者がユーザーを作成したときにMedia Serverのコンピュータに保存されると、
2.セッションベースの認証
これは、Webアプリケーションが標準Webメソッドによる承認を処理し、許可されたユーザーにメディアリソースへのアクセスを提供する場合に使用されます。Webアプリケーションがユーザを認証する場合、Docokame@MSS Media Streaming Serverにこのユーザについて通知し、セッションIDやユーザのセッションに関連付けられたその他の一意のIDなどの認証トークンを渡す必要があります。ユーザがログアウトするかセッションが終了すると、アクティブなセッションのリストからこのセッションを削除するために、Docokame@MSS Media Streaming Serverを呼び出す必要があります。また、WebアプリケーションがHTMLページをクライアントに返すときに、組み込みのDocokame Streaming Media Playerのブラウザプラグインのクライアントサイドスクリプトで、同じ認証トークンをUMS://、MMS://、またはRTMP://リンクに追加するか、「UseSessionID」メソッドを呼び出す必要があります。この方法で、プレーヤーがDocokame@MSS Media Streaming Serverにリクエストを送信すると、同じ認証トークンが渡され、Docokame@MSS Media Streaming Serverはそのユーザーを認識できます。セッションベースの認証については、サンプルWebアプリケーションを参照してください。