RTSP
音声や映像の配信について、再生・一時停止などを指示するアプリケーション層のプロトコル。メディアの配送条件や接続の状態を管理し、実際の音声・映像の送信にはRTPなどを組み合わせる。
イマシルちゃんの解説
ネットワークカメラや配信サーバの映像を見るとき、配信を始めるようお願いしたり、途中で止めるよう伝えたりすることがあるんだ。
でも、「映像そのものを運ぶ仕事」と「どう配信してほしいかを伝える仕事」は、実は別なんだよ。
そのうち、後者の「どう配信してほしいかを伝える仕事」を担当するのが、RTSPなんだ!
RTSPを使うと、映像の届け方を取り決めたり、対応する映像なら再生を始めたり止めたりできるの。
一方で、映像や音声のデータは、ふつう別の通信の仕組みで運ばれているんだよ。
だから、操作の指示は届いているのに画面には何も映らない……なんてこともあるの。
そんなときは、操作用と映像用の通信を分けて考えると、原因が見つけやすくなるんだ。
この解説はわかりやすかったですか?
より深い解説
配信の制御を担当する
RTSPは、配信の開始、再生・一時停止、終了などを要求・応答の形で制御する。RTSP 1.0はRFC 2326、RTSP 2.0はRFC 7826で定義される。版によって細かな仕様や対応する機能は異なる。
映像の圧縮方式を定める規格ではなく、どの通信経路で配送するかや、どの位置から再生するかなどを調整するための仕組みである。
主な操作
| メソッド | 役割 |
|---|---|
| DESCRIBE | 配信対象の説明情報を取得する |
| SETUP | 配送方法などを決め、セッションを準備する |
| PLAY | 配信の開始・再開を要求する |
| PAUSE | 配信の一時停止を要求する |
| TEARDOWN | セッションを終了する |
ライブ映像と保存済み映像では、操作できる範囲が異なる。たとえば、まだ存在しない未来の映像へ移動することはできない。サーバが提供する機能を確認して操作する。
メディアを運ぶ通信との関係
| 仕組み | 主な仕事 |
|---|---|
| RTSP | 配送の設定や操作を行う |
| RTP | 音声・映像を、順序や時刻の情報とともに転送する |
| RTCP | 配送状態などのフィードバックを行う |
制御用の接続とメディア用の通信経路は、必ず同じではない。UDPでメディアを運ぶ構成や、TCP接続内にメディアを多重化する構成などがある。RTSPの制御が通っても、別のメディア用ポートが遮断されていれば映像が届かない場合がある。
名前の似た用語との区別
| プロトコル | 目的 |
|---|---|
| RTSP | ストリーミング配信の操作 |
| RSTP | レイヤ2のループを防ぎ、障害時の切替えを速める |
| VRRP | デフォルトゲートウェイを冗長化する |
| RARP | MACアドレスを手掛かりにIPアドレスを求める |
通信の両端で動画を操作したいのか、LANの接続構造を制御したいのか、ルータ障害に備えたいのかを先に考える。略称の文字順だけに頼らず、対象とする役割で区別する。