RTPとは?

改訂版 デジタル放送教科書(上) (インプレス標準教科書シリーズ)



RTP = Real-Time Transport Protocol
RTCP= RTP Control Protocol


IP網で音声や映像を運ぶ際に使われるプロトコル
RTPは音声や映像をIPパケットに入れて運ぶためのプロトコル
RTCPはそのRTPを制御するプロトコル


RTPに入れる音声や映像としてはPCM-μ-LAW(G.711)
*1やMPEG2、H264などがある。
ペイロード・フォーマットなどはこちらで調べられる。
http://www.ietf.org/html.charters/avt-charter.html


RTPで特徴的なのは「シーケンス番号」と「タイムスタンプ」が
ヘッダーの中にあること。
IP網ではパケットの順番が変わってしまうことがあるが
送信者の送ったRTPパケットの中の
「シーケンス番号」と「タイムスタンプ」をもとに、
受信側で正しい順番、タイミングにパケットを並び戻すことができる。
ちなみにRTPはTCPを使ってはいけないという決まりはないが
一般的にUDPが使われることが多い。


RTCPでは、送信側からは送信パケット数などの統計情報やNTPによる
タイムスタンプ等を送り、受信側からは廃棄率や、ジッタ率の情報等を送る。
これらにより送受信両端でTCPのように通信の量を制御したり、
同期を取ったりしている。*2


RTPはIETFRFC 3550/3551で
RTCPはRFC 3550で規定されている。
http://tools.ietf.org/rfc/rfc3550.txt
http://tools.ietf.org/rfc/rfc3551.txt


より詳しい情報はこの辺にFAQなどがあるので参考にできる。
http://www.cs.columbia.edu/~hgs/rtp/


またRFC3711では
Secure Real-time Transport Protocol (SRTP)を規定している。
http://www.ietf.org/rfc/rfc3711.txt



RTP/RTCP以外にRTSP(RFC2326)、SAP(RFC2974)なども
音声や映像を運ぶプロトコルとして使われる。
RTSPはオンデマンド放送の制御等に使われる。
SAPはセッション情報であるSDP(RFC2327)
マルチキャストアドレス 224.2.127.254:9875に対して
定期的に送るプロトコル。番組表なんかを作るのに使われる。

*1:PCM-μ-LAW(G.711)は通常の電話で使われるコーデック。

*2:音声と動画の間で同期を取るメディア間同期、複数端末を使用して会議などをするときに端末間で同期を取るシステム間同期等