ストリーミング仕様

メディア転送プロトコル

メディア転送プロトコル

Coaxlink製品は、ネットワーク経由でメディアデータをストリーミングするためにリアルタイム転送プロトコル(RTP)規格を使用しています。

実際、RFC3550の標準では、2つのプロトコルが記述されています。

RTPプロトコルそのもの。
RTCP(リアルタイム転送制御プロトコル)。

RTPプロトコルは、IPネットワーク上でオーディオおよびビデオを配信するための標準化されたパケットフォーマットを定義する単純なプロトコルです。

RTCPプロトコルは、RTPストリームを介して統計情報および制御情報を提供します。

RTPは、ストリーミングメディアを伴う通信およびエンターテイメントシステムで広く使用されています。

RTPは、次の選択肢に応じてさまざまな種類があります。

ネットワーク上のRTPストリームの転送モダリティ
RTPストリームによって転送されるメディアのタイプ

メディア転送制御プロトコル

Picolo.netの製品は、RTPストリームのすべてのフレーバの制御プロトコルとして、リアルタイムストリーミングプロトコル(RTSP)を使用しています。

RSTPはRFC 2326で記述されています。Play(ストリームの開始)、Pause(ストリームの一時停止)、Describe(現在のRTSPセッションで制御されているストリームの記述)などのコマンドを実装して、別のプロトコル(通常はRTP)を制御できます。

RTSPは、その転送プロトコルとしてTCPを使用します。

メディア転送セキュリティプロトコル

Coaxlinkは、転送レイヤーセキュリティ(TLS)を使用して、必要に応じてメディアストリームを暗号化します。

TLSプロトコルは、さまざまな暗号化アルゴリズムを使用してHTTPストリームを暗号化します。このように、メディアストリーム暗号化の目的には、「HTTP経由でRTSPでインターリーブされたRTP」転送モダリティのみが適用可能です。

RTP転送モダリティ

RTPストリームをIPネットワーク経由で転送するには、次のような方法があります。

UDPユニキャスト経由RTP

このモダリティでは、RFC 768に記述されているユーザーデータグラムプロトコル(UDP)を使用してRTPストリームが送信されます。

UDPプロトコルは、「火災と忘却」プロトコルです。送信者はネットワークを介してデータを送信し、そのデータがクライアントに到着するかどうかは気にしません。データは再送されないため、転送中に問題が発生した場合は失われる可能性があります。

ユニキャストモードでは、送信者はデータを単一の受信者に送信します。

UDPマルチキャスト経由RTP

このモダリティは、「UDPユニキャストによるRTP」の場合とほとんど同じです。唯一の違いは、UDPマルチキャストを使用する単一の受信者ではなく、複数の受信者にデータが送信されることです。

UDPマルチキャスティングでは、RFC 1112で説明されている「IPマルチキャスト」技術を使用します。

この技術では、送信者はデータを特別なマルチキャストアドレスに送信します。その後、データは、ルーティングプロトコルによって、あらかじめ与えられたマルチキャストアドレスに関心があることをネットワークに通知した受信者に送信されます。したがって、IPマルチキャストはサブスクリプションベースの技術です。

HTTP経由でRTSPでインターリーブされたRTP

このモダリティは、「TCP経由のRTSPでインターリーブされたRTP」のモダリティとほぼ同じです。唯一の違いは、TCPストリームで直接送信されるのではなく、RTPパケットとRTSPパケットが最初にHTTPにカプセル化される点です。

HTTPはインターネット上で広く使用されているプロトコルであり、HTTP内にデータをカプセル化することでファイアウォールを通過させることができます。

さらに、HTTP内でデータをカプセル化することで、TLSプロトコルを利用してメディアストリームを保護することができます。

HTTPはTCPに基づいているため、このモダリティは信頼できるものとして分類することもできます。

RTP転送メディアタイプ

RTPは、異なるメディアタイプを転送することができ、それぞれに対応するRTPのサブノルムがあります。

Picolo.net製品は、RTPの以下のサブノードを実装しています。

H.264ビデオ用のRTPペイロードフォーマット

RFC 3984は、H264(MPEG-4 Part 10)データをRTPストリームにカプセル化するために使用される方法論を説明されています。

JPEG圧縮ビデオのRTPペイロード形式

RFC 2435では、JPEG圧縮されたビデオデータをRTPストリームにカプセル化するために使用される方法論が説明されています。