RTSP 診断における SDP、H.264、および H.265: ビデオを開始できるかどうかを決定するメタデータ

カメラ ストリームをプレーヤーの互換性の問題として扱う前に、RTSP 診断で SDP およびコーデック パラメーターの証拠を検査する必要がある理由。

SDP, H264, H265, RTSP

RTSP エラーの多くは、「カメラ ストリームが再生されない」と説明されます。このフレーズには、最も重要な診断境界が隠されています。つまり、カメラは SDP で何を主張しているのか、メディア ペイロードはその主張と一致しているのか、ということです。

SDP は、多くの場合、RTSP セッションで利用できる最初の構造化された証拠です。メディア トラック、ペイロード タイプ、コーデック名、クロック レート、制御 URL、およびコーデック固有のパラメーターを宣言します。 SDP が間違っているか、不完全であるか、コンシューマーによってサポートされていない場合、最初のフレームがデコードされる前にストリームが失敗する可能性があります。

SDPが証明すべきこと

「DESCRIBE」の後、クライアントは、ストリームにビデオが含まれているかどうか、どのペイロード タイプがどのコーデックにマップされるか、メディア トラックをどのように設定する必要があるかを知る必要があります。カメラの診断については、以下を検査します。

  • 「m=video」メディアセクション
  • a=control トラック URL
  • a=rtpmap ペイロード タイプとコーデック名
  • 「a=fmtp」コーデックパラメータ
  • H.264 sprop-parameter-sets が存在する場合
  • H.265 VPS/SPS/PPS シグナリング(利用可能な場合)
  • アドバタイズされたクロック レートが期待されるかどうか

SDP が H.264 をアドバタイズしているが、カメラが別のものを送信している場合、受信側は不合理ではありません。 SDP が重要なパラメータの証拠を省略し、ストリームがそれを帯域内で送信しない場合、デコーダには開始するのに十分な情報がない可能性があります。

H.264 パラメータ セットはオプションの証拠ではありません

H.264 デコーダにはシーケンスとピクチャのパラメータ情報が必要です。 RTSP カメラの展開では、この証拠は SDP、インバンド RTP ペイロード、またはその両方に表示される場合があります。問題は、受信機が知らないことをカメラがすでに知っていると想定するときに発生します。

クリーンな診断記録は次のように答えます。

  • SPSは見えましたか?
  • PPSは見えましたか?
  • ペイロードにはIDRフレームが含まれていましたか?
  • ストリームは共和党の途中から始まりましたか?
  • profile-level-id は妥当であるように見えましたか?
  • パケット化モードは観察されたペイロード構造と一致しましたか?

これは、あるプレーヤーが機能し、別のプレーヤーが機能しない場合に特に重要です。寛容な視聴者は、疑わしいメタデータを生き残ることができます。記録、分析、またはコンプライアンスのパイプラインがそれを拒否する可能性があります。

H.265 により互換性境界が追加される

H.265 は、特に帯域幅が重要な場合に最新のカメラで一般的ですが、古いツールや組み込みコンシューマーでは H.264 ほど広くサポートされていません。 H.265 は、SPS と PPS に加えて VPS の証拠ももたらします。実際のコーデック プロファイルまたはパラメータ配信が消費者がサポートする境界外にあるため、「RTSP は機能する」とだけ表示される展開でも失敗する可能性があります。

現場チームにとって、役立つ記事、チケット、レポートには、「H.264 に切り替える」ということだけが書かれ​​ていてはなりません。その理由を説明する必要があります。

  • 現在の消費者には H.265 サポートがありません
  • H.265 パラメータ セットが見つからないか、遅れています
  • ペイロード タイプが予期されたコーデック マッピングと一致しません
  • ストリームは有効ですが、プロダクトの境界外にあります
  • このワークフローではカメラプロファイルを変更する必要があります

このレベルの明確さにより、試行錯誤を繰り返す変更を防ぐことができます。

SDP は RTP と比較する必要があります

SDPは主張です。 RTP は次の証拠です。この 2 つを比較する必要があります。

例:

  • SDP はペイロード タイプ 96 が H.264 であると主張していますが、RTP は異なるペイロード タイプで到着します。
  • SDP にはビデオ トラックが含まれていますが、「PLAY」に続く RTP はありません。
  • SDP には H.265 と記載されていますが、ダウンストリーム製品は H.264 のみをサポートします。
  • SDP はパラメータ セットを省略し、RTP はスライスの前にパラメータ セットを送信することはありません。
  • RTP は到着しますが、NAL ユニット構造がアドバタイズされたコーデックと一致しません。

これらの場合、次のアクションは異なります。 SDP と RTP を比較しないと、どれも漠然とした「ビデオがない」という同じ障害のように見えます。

RTSP Inspector がこの証拠を明らかにする理由

RTSP Inspector は、再現可能な証拠を必要とするストリーム エンジニア、カメラ ベンダー、CCTV インテグレーター向けに設計されています。これは意図的に汎用メディアプレーヤーではありません。その役割は、RTSP 制御パス、SDP メタデータ、RTP/RTCP フロー、および H.264/H.265 の準備状況を検査することです。

これにより、出力はサポートでの会話に役立ちます。

  • カメラベンダー: SDP またはパケット化を修正
  • ネットワーク チーム: RTP 配信パスを修正
  • VMS チーム: サポートされるコーデック プロファイルを調整する
  • フィールド インテグレーター: ストリーム プロファイルまたはトランスポート モードを変更する
  • 顧客: 再生がプロトコルの健全性の証拠にならない理由を理解する

RTSP 診断では、SDP は定型文ではありません。これはストリームが提供する最初の契約です。その契約が破られた場合、パイプラインの残りの部分は推測することになります。