RTSP オーディオ トラック、AAC、および不明な SDP トラック: ビデオ ストリームが再生前に失敗する理由

オーディオ トラック、AAC ペイロード、不明な SDP メディア セクション、およびクライアント互換性エラーを含む RTSP ストリームを診断する方法

RTSP, SDP, AAC, オーディオトラック, 不明なトラック

一部の RTSP カメラ ストリームは、ビデオが利用できないためではなく、セッションにクライアントが期待する以上のものが含まれているために失敗します。カメラは、SDP のビデオ、オーディオ、メタデータ、プライベート トラック、バックチャネル オーディオ、またはベンダー固有のメディア セクションをアドバタイズする場合があります。厳格なコンシューマは、サポートされていないトラックに遭遇した場合、セッション全体を拒否する可能性があります。

「RTSP AAC オーディオが機能しない」、「SDP の不明なトラック」、「オーディオを有効にすると RTSP ストリームが失敗する」、または「オーディオを無効にするとカメラが動作する」などの検索は、同じ診断境界を指します。SDP はセッションを記述しており、アドバタイズされたトラックはすべて互換性に影響を与える可能性があります。

SDP はビデオ以上の広告を提供できます

RTSP の「DESCRIBE」応答には、複数のメディア セクションを含めることができます。

  • 「m=ビデオ」
  • m=オーディオ
  • メタデータトラック
  • アプリケーショントラック
  • ベンダープライベートペイロード
  • トラックごとに URL を制御

クライアントはトラックごとに、それをセットアップできるか、無視するか、失敗するかを決定する必要があります。寛容なクライアントもいます。他は厳しいです。リストリーミング エンジンまたは分析製品がサポートされているビデオ トラックのみを想定している場合、不明な SDP セクションにより予期しない障害が発生する可能性があります。

AAC オーディオには独自の互換性境界があります

AAC over RTP は十分一般的ですが、すべての RTSP コンシューマがすべてのオーディオ ペイロードをきれいに処理できるわけではありません。 SDP では、モード、構成、クロック レート、チャネル、ペイロード タイプを記述する必要がある場合があります。これらのフィールドが欠落しているか異常な場合、クライアントはセットアップ中またはその後のパケット化解除時に失敗する可能性があります。

オーディオの問題は次のように発生する可能性があります。

  • ストリームはオーディオが無効な場合にのみ開きます
  • SDP解析エラー
  • サポートされていないペイロード タイプ
  • オーディオトラックで「SETUP」が失敗する
  • ビデオは VLC では動作しますが、より厳密な取り込みパスでは失敗します
  • ビデオトラックが有効であっても、レコーダーがセッションを拒否します

最後のケースは重要です。サポートされていないオーディオ トラックは、クライアントの動作によっては使用可能なビデオ トラックへのアクセスをブロックする可能性があります。

不明なトラックは隠すのではなく報告する必要があります

SDP に不明なメディア セクションが含まれている場合、診断ツールはそれを保存する必要があります。サポートされていないトラックを非表示にすると、互換性の問題を説明するのが難しくなります。

有用な証拠には次のようなものがあります。

  • 完全な SDP メディア セクション
  • ペイロードタイプ
  • rtpmap
  • 「fmtp」値
  • トラックコントロールURL
  • 「SETUP」が試行されたかどうか
  • ビデオ、オーディオ、またはメタデータ トラックで障害が発生したかどうか

これにより、エンジニアはトラックを無効にするか、フィルターするか、カメラ プロファイルを変更するか、ダウンストリーム サポートを調整するかを決定できます。

診断ではなくテストとしてオーディオを無効にする

オーディオを無効にするのが一般的な回避策です。これは、特にビデオのみを必要とする分析ワークフローの場合に有効です。ただし、これはテストとして扱う必要があります。

  • ビデオとオーディオが失敗する
  • ビデオのみが成功する
  • オーディオを無効にした後に SDP が変更されました
  • サポートされていないペイロードまたはトラックが消えました
  • RTPビデオパスは変わらない

この比較により、障害が基本的なネットワーク到達可能性ではなく、セッション構成に属していることが証明されます。

RTSP インスペクターが適している場所

RTSP インスペクターはセッション構造を表示し続ける必要があります。その境界は再生ではありません。プロトコルの説明です。マルチトラック RTSP ストリームの場合、次の答えが得られます。

  • SDP は何曲宣伝しましたか?
  • どのトラックがサポートされていましたか?
  • どのトラックがセットアップに失敗しましたか?
  • ビデオ RTP は到着しましたか?
  • オーディオまたはメタデータが消費者をブロックしましたか?
  • 次のアクションはカメラ プロファイルの変更か、ダウンストリーム パーサーの変更か?

カメラ ストリームが「機能しない」場合、ビデオ トラックは正常である可能性があります。その横にあるサポートされていないトラックが、セッションが失敗した本当の理由である可能性があります。