Real Time Streaming Protocol

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索
TCP/IP群
アプリケーション層

BGP / DHCP / DNS / FTP / HTTP / IMAP / IRC / LDAP / MGCP / NNTP / NTP / POP / RIP / RPC / RTP / SIP / SMTP / SNMP / SSH / Telnet / TFTP / TLS/SSL / XMPP

カテゴリ
トランスポート層

TCP / UDP / DCCP / SCTP / RSVP

カテゴリ
ネットワーク層

IP (IPv4, IPv6) / ICMP / ICMPv6 / IGMP / IPsec

カテゴリ
リンク層

ARP/InARP / NDP / OSPF / SPB / トンネリング (L2TP) / PPP / MAC (イーサネット, IEEE 802.11, DSL, ISDN)

カテゴリ

Real Time Streaming Protocol(リアルタイム・ストリーミング・プロトコル, 略称:RTSP)は IETF において標準化されたリアルタイム性のあるデータの配布 (ストリーミング) を制御するためのプロトコルである。1998 年 4 月にその最初の版が RFC 2326 として標準化されたが、様々な問題点があることが指摘され、改訂が続けられている。

概要[編集]

RTSP はオーディオビデオなどのマルチメディア・データをふくむサーバを遠隔操作するためのプロトコルであり、テープレコーダのように再生、停止、記録 (録音) などの操作ができる (巻き戻しや早送りの機能はない)。SIP (セッション確立プロトコル) とはちがって RTSP においてはサーバとクライアントとが明確に区別され、データの流れは基本的にサーバからクライアントへの一方向であるが、サーバからクライアントに送付する要求も定義されている。すなわち、要求-応答モデルとしてみると、サーバ とクライアントの役割が逆転することもある。

サーバからクライアントへのデータ転送 (RTSP においてはプレゼンテーションとよばれる) には通常Real-time Transport Protocol (RTP) が使用されるが、それに限定されてはいない。RTSP によって制御されるデータのながれに関しては "RTSP セッション" が存在するが、RTSP 自体には、SIP と同様にセッションの概念はない。SIP と同様、RTSP も HTTP (ハイパーテキスト転送プロトコル) に似せてある。RTSP の下位のプロトコルとしては、SIP とはちがって、TCP のように高信頼なプロトコルの使用が前提とされている。ただし、RTSP の改訂にあたっては低信頼なプロトコルを使用できるようにする方向性が示されている。

RTSP がサポートする操作はつぎの3 つである。

1. メディアサーバからのメディアのとりだし

RTSP を使用してメディア・データをとりだすことができる。そのきっかけとしてよくあるのは WWW においてメディアへのリンクをクリックすることであり、この場合プレゼンテーションの記述は HTTP によってメディアサーバにあたえられる。

2. メディアサーバを会議に参加させること

マルチメディア会議においてメディアを再生したり、会議を記録したりするために RTSP を使用してメディアサーバを会議に参加させることができる。会議自体の制御はたとえば SIP によっておこなわれる。

3. メディアをプレゼンテーションにくわえること

RTSP を使用してとくにライブ・プレゼンテーションにおいて、メディアをプレゼンテーションに参加させることができる。 RTSP をあつかうメディアサーバは RTSP セッションの状態を管理する必要がある。

RFC 2326 にはセキュリティに関する記述がわずかしかないが、改訂中の仕様においてはセキュリティプライバシーを守るための機構についても記述されている。

RTSP における標準的なシーケンス[編集]

以下の例は改訂中の仕様から引用したものであり、クライアント C がメディアサーバ V (video.example.com) から映画をうけとるときのシーケンスである。メディア記述は Web サーバ W に格納されている。

C->W:   GET /twister.sdp HTTP/1.1
        Host: www.example.com
        Accept: application/sdp
W->C:   HTTP/1.0 200 OK
        Date: 23 Jan 1997 15:35:06 GMT
        Content-Type: application/sdp

        v=0
        o=- 2890844526 2890842807 IN IP4 192.16.24.202
        s=RTSP Session
        e=adm@example.com
        m=audio 0 RTP/AVP 0
        a=control:rtsp://audio.example.com/twister/audio.en
        m=video 0 RTP/AVP 31
        a=control:rtsp://video.example.com/twister/video
C->A:   SETUP rtsp://audio.example.com/twister/audio.en RTSP/1.0
        CSeq: 1
        User-Agent: PhonyClient/1.2
        Transport: RTP/AVP/UDP;unicast;client_port=3056-3057
A->C:   RTSP/1.0 200 OK
        CSeq: 1
        Session: 12345678
        Transport: RTP/AVP/UDP;unicast;client_port=3056-3057;
                   server_port=5000-5001
C->V:   SETUP rtsp://video.example.com/twister/video RTSP/1.0
        CSeq: 1
        User-Agent: PhonyClient/1.2
        Transport: RTP/AVP/UDP;unicast;client_port=3058-3059
V->C:   RTSP/1.0 200 OK
        CSeq: 1
        Session: 23456789
        Transport: RTP/AVP/UDP;unicast;client_port=3058-3059;
                   server_port=5002-5003
C->V:   PLAY rtsp://video.example.com/twister/video RTSP/1.0
        CSeq: 2
        User-Agent: PhonyClient/1.2
        Session: 23456789
        Range: smpte=0:10:00-
V->C:   RTSP/1.0 200 OK
        CSeq: 2
        Session: 23456789
        Range: smpte=0:10:00-0:20:00
        RTP-Info: url=rtsp://video.example.com/twister/video;
         seq=12312232;rtptime=78712811
C->A:   PLAY rtsp://audio.example.com/twister/audio.en RTSP/1.0
        CSeq: 2
        User-Agent: PhonyClient/1.2
        Session: 12345678
        Range: smpte=0:10:00-
A->C:   RTSP/1.0 200 OK
        CSeq: 2
        User-Agent: PhonyClient/1.2
        Session: 12345678
        Range: smpte=0:10:00-0:20:00
        RTP-Info: url=rtsp://audio.example.com/twister/audio.en;
                seq=876655;rtptime=1032181
C->A:   TEARDOWN rtsp://audio.example.com/twister/audio.en RTSP/1.0
        CSeq: 3
        User-Agent: PhonyClient/1.2
        Session: 12345678
A->C:   RTSP/1.0 200 OK
        CSeq: 3
C->V:   TEARDOWN rtsp://video.example.com/twister/video RTSP/1.0
        CSeq: 3
        User-Agent: PhonyClient/1.2
        Session: 23456789
V->C:   RTSP/1.0 200 OK
        CSeq: 3

外部リンク[編集]

  • RFC 2326 - Real-Time Streaming Protocol
  • RFC 4566 - Session Description Protocol