メインコンテンツまでスキップ

4. 複数のメディアストリームを送信するエンドポイントによる RTP の使用

RTP 仕様 [RFC3550] では、エンドポイントが単一の RTP セッションで複数の RTP ストリームを送信できることが既に明確にされています。各 RTP ストリームは、一意の SSRC 値によって識別されます。主な要件は、各 SSRC が RTP セッション内で一意でなければならない(MUST)ということです。

複数の RTP ストリームを送信する場合:

  • 各ストリームは一意の SSRC 識別子を持たなければならない(MUST)
  • ストリームは、異なるメディアソース、同じソースの異なるエンコーディング、または冗長/修復ストリームを表すことができる
  • RTP タイムスタンプとシーケンス番号の空間は、SSRC ごとに独立している

5. 複数のメディアストリームを送信するエンドポイントによる RTCP の使用

このセクションでは、複数の RTP ストリームを送信するエンドポイントの RTCP 動作を明確化し、更新します。

5.1. RTCP レポーティング要件

エンドポイントは、RTP パケットを送信するために使用する各 SSRC について RTCP パケットを送信しなければなりません(MUST)。これは、エンドポイントが N 個の RTP ストリームを(N 個の異なる SSRC で)送信する場合、すべての N 個の SSRC について RTCP パケットを送信する必要があることを意味します。

異なる SSRC の RTCP パケット:

  • 別個の複合 RTCP パケットで送信できる
  • 単一の複合 RTCP パケットに集約できる(可能な場合は推奨される)
  • RFC 3550 で指定されたタイミング規則に従わなければならない(MUST)

5.2. 初回レポーティング間隔

エンドポイントが新しい SSRC での送信を開始するとき、RFC 3550 セクション 6.2 の規則に従って、その SSRC の最初の RTCP パケットをできるだけ早く送信すべきです(SHOULD)。最初の RTCP パケットについて:

  • 遅延は、通常の最小間隔の半分に短縮してもよい(MAY)
  • ユニキャストセッションの場合、遅延はゼロでもよい(MAY)
  • これにより、他の参加者は新しい SSRC について迅速に知ることができる

5.3. 複合 RTCP パケットへのレポートの集約

エンドポイントが複数の SSRC を持つ場合、可能な限り複数の SSRC の RTCP パケットを単一の複合 RTCP パケットに集約することが推奨されます(RECOMMENDED)。これにより:

  • パケットオーバーヘッドが削減される
  • RTCP スケジューリングが簡素化される
  • 送信されるパケット数が削減される

5.3.1. AVG_RTCP_SIZE の維持

複数の SSRC からの RTCP パケットを集約する場合、AVG_RTCP_SIZE の計算には慎重な検討が必要です。

  • 各 SSRC は、自身の AVG_RTCP_SIZE の推定値を維持すべきである
  • 推定値は、その SSRC について送信された複合パケットのサイズに基づくべきである
  • パケットが集約されるとき、各 SSRC の推定値は、複合パケット内のその SSRC の部分に基づいて更新される

5.3.2. 複数の SSRC を集約する場合の RTCP スケジューリング

RTCP パケットを集約する場合:

  • 各 SSRC の次の送信時間を個別に計算する
  • スケジュールされた最も早い時間に集約パケットを送信する
  • 含まれるすべての SSRC の次の送信時間を更新する

5.4. RTP/AVPF または RTP/SAVPF フィードバックの使用

複数の SSRC で RTP/AVPF または RTP/SAVPF プロファイルを使用する場合、追加の考慮事項が適用されます。

5.4.1. フィードバックパケットの SSRC の選択

フィードバック(NACK や PLI など)を送信する場合:

  • フィードバックパケットは、送信者が所有する SSRC を使用しなければならない(MUST)
  • どの SSRC を使用するかは実装に依存する
  • フィードバックに最も密接に関連するメディアストリームの SSRC を使用することが推奨される(RECOMMENDED)

5.4.2. RTCP フィードバックパケットのスケジューリング

AVPF のフィードバックパケットは、通常の RTCP スケジュール外で送信できます。

  • プロファイルの制約内で早期フィードバックが許可される
  • T_rr_interval パラメータは、フィードバックを送信できる頻度を制限する
  • 適切な場合、異なる SSRC のフィードバックを集約できる