通信ネットワークソリューション~メディア・ストリーミングメディア技術
テキストや音声、動画を利用したサービスが多様化しています。特に、動画技術は、高い解像度を実現させるためコーデック(エンコード、デコード)が発展してきました。そして、プロトコル(RTSPは)ネットワーク制御であるプロトコルを制御するためのエンターテインメント、通信システムで使用するために設計されたストリーミングメディア サーバで利用されます。このプロトコルは、エンドポイント間のメディアセッションを確立し、制御するために使用される。メディアサーバのクライアントは、サーバからクライアント(ビデオオンデマンド)またはクライアントからサーバへのメディアストリーミング(ボイスレコーディング)のリアルタイム制御を容易にするために、再生、記録、一時停止などのVCRスタイルのコマンドを発行します。
ストリーミングデータ自体の伝送は、RTSPのタスクではありません。ほとんどのRTSPサーバは、メディアストリーム配信にリアルタイム制御プロトコル(RTCP)と組み合わせてリアルタイム転送プロトコル(RTP)を使用します。しかし、一部のベンダーは独自のトランスポートプロトコルを実装しています。
RTSP 2.0はRTSP1.0に基づいていますが、基本バージョンのネゴシエーションメカニズム以外では後方互換性はありません。
プロトコル指令
HTTPとはいくつかの点では似ていますが、RTSPはマルチメディア再生の制御に役立つ制御シーケンスを定義しています。HTTPはステートレスですが、RTSPには状態があります。並行セッションを追跡するために必要なときに識別子が使用されます。HTTPと同様に、RTSPはエンドツーエンド接続を維持するためにTCPを使用し、ほとんどのRTSP制御メッセージはクライアントからサーバーに送信されますが、一部のコマンドは別の方向(つまりサーバーからクライアント)に移動します。ここには、基本的なRTSP要求が示されています。OPTIONS要求のようないくつかの典型的なHTTP要求も利用可能です。デフォルトのトランスポート層のポート番号は、TCPとUDPの両方で554です。後者は制御要求にほとんど使用されません。
レート適応
RTPとRTCPを使用するRTSPはレート適応の実装を可能にします。
サーバ実装
ダーウィン・ストリーミング・サーバ | アップルが管理するオープンソースのQuickTime Streaming Server。Erlyvideo はRTSPクライアントを持ち、ビデオを他のプロトコルに再ストリームすることができます。 |
Feng | rfcに準拠した、リーンで平均的なストリーミングサーバ。GStreamerベースのRTSPサーバーとクライアントです。 |
Helix DNA Server | RealNetworksのストリーミングサーバー。オープンソースとプロプライエタリの両方のフレーバーが付属しています。 |
Helix Universal Server | TSP、RTMP、iOS、Silverlight、HTTPストリーミングメディアクライアント用のRealNetworksコマーシャルストリーミングサーバ。LEADTOOLS LEAD Technologiesの Media Streaming Server SDK は、RTSP/RTP、RTSP/RTP(MPEG-2トランスポート)、HTTP経由のRTSP/RTPをサポートしています。 |
LIVE555 liveMedia/openRTSP | VLCやmplayerのような有名なクライアントで使われているオープンソースのC ++サーバとクライアントライブラリ。管理されたメディア集約:完全に管理されたコードで書かれたRTSPの.NET C# RFC準拠の実装。Nimble Streamerは、TCPインターリーブされた再生出力でRTSPプルおよびアナウンス入力をサポートします。 |
pvServer | 以前はPacketVideo Streaming Serverと呼ばれていましたが、これはAlcatel-Lucentのストリーミングサーバ製品です。QuickTime Streaming Server:Mac OS X Serverに同梱されているAppleのクローズドソースストリーミングサーバです。。 |
SharpRTS | オープンソースのC# RTSPストリーミングサーバです。 |
TVサーバ | RTSP / RTP、HTTP、HTTPS(HLS、MSS、MPEG-DASH)用のマルチフォーマットストリーミングサーバーです。これはソフトウェアとハードウェアのバージョンのEdgewareのストリーミングサーバー製品です。 |
ViaMotion | Aneviaによるビデオオンデマンドのための統合されたRTSPサーバです。 |
VideoLAN | オープンソースのメディアプレーヤーとストリーミングサーバです。 |
VX30 | Maui X-Streamからストリーミングビデオサーバーと組み込みJavaクライアントです。 |
Windows Mediaサービス | Windows Media拡張機能で修正されたRTSPを使用する以前にWindows Serverに含まれていたMicrosoftストリーミングサーバです。 |
Wowzaストリーミングエンジン | RTSP / RTP、RTMP、MPEG-TS、ICY、HTTP(HTTPライブストリーミング、HTTPダイナミックストリーミング、Smooth Streaming、MPEG-DASH)、WebRTC用マルチフォーマットストリーミングサーバです。 |
キセノンストリーミングサーバ | Vidiator Technology(US)Inc.のモバイルストリーミングサーバです。 |
YouTube | デスクトップ上のモバイルHTTPSバージョンでサイトを表示するときに利用できるストリーミングオプション。 |
クライアント端末実装
アストラ実装 | |
cURL | |
FFmpeg | |
GStreamer | |
JetAudio | |
LIVE555 liveMedia/openRTSP | LCやmplayerのような有名なクライアントで使われているオープンソースのC ++サーバとクライアントライブラリです。 |
メディアプレーヤークラシック | |
MPlayer | |
フリーボックス経由のMythTV | |
管理されたメディア集約 | 完全に管理されたコードで書かれたRTSPの.NET C# RFC準拠の実装。 |
オムプレイヤ | |
クイックタイム | |
リアルプレーヤ | |
SharpRTSP | オープンソースのC# RTSPストリーミングクライアント |
Skype | |
Spotify | |
VLCメディアプレーヤ | |
Winamp | |
ウィンドウズメディアプレイヤ | |
xine |
ストリーミングメディア サーバ実装サポート
ストリーミングメディア サーバとクライアント端末とのやりとりには、選択肢が多く、実装方法も多様化してきております。ハードウエア、ソフトウエア、選択する動画フォーマット、エンコードとデコードをどのタイミングで行うか、デコードする際のプレイヤ(単に再生するだけではなく、トリック再生などの実装の有無)によって、多様にも実装方法が変わってきます。ユースケースを理解した上で、実装を行うことが必要です。このようなケースに、ポジティブワンでは、多くの実績があります。