RTSP メインストリームは動作しないが、サブストリームは動作する: その違いが証明するもの

RTSP サブストリームは機能するが、メイン ストリームが失敗する、フリーズする、404 を返す、またはデコードできない IP カメラの場合の診断ガイド。

RTSP, メインストリーム, サブストリーム, カメラ, ONVIF

非常に一般的な IP カメラの検索クエリは、「RTSP メイン ストリームは動作しないが、サブストリームは動作する」です。症状が具体的であるため、役に立ちます。サブ ストリームが機能している場合は、カメラにアクセスでき、資格情報がおそらく正しく、RTSP サービスが有効で、少なくとも 1 つのビデオ プロファイルにアクセスできます。問題は「RTSP が壊れている」ということではなくなりました。問題はストリームプロファイルの違いです。

通常、メイン ストリームとサブ ストリームは、解像度、ビットレート、コーデック、GOP 間隔、ペイロード サイズが異なり、場合によっては URL パスも異なります。サブ ストリームは低解像度の H.264 ですが、メイン ストリームは H.265、4K、高ビットレート、またはより少ない同時セッションに制限されている場合があります。 NVR は、カメラ自体からのさまざまなパスを公開できます。 ONVIF は低品質のライブ URL を返す場合がありますが、録画 URL またはメイン プロファイルには別のパスが必要です。

診断に役立つ質問は、動作しているサブストリームが何を証明し、何を証明しないのかということです。

動作するサブストリームが証明するもの

サブストリームを RTSP 経由で開くことができる場合、通常は次のように言えます。

  • カメラのIPアドレスが到達可能である
  • RTSPポートが開いています
  • 認証は少なくとも 1 つのストリームに対して機能します
  • クライアントは基本的な RTSP 応答を解析できます
  • DESCRIBESETUP、および PLAY は少なくとも 1 つのプロファイルに対して成功することができます
  • 少なくとも 1 つのメディア トラックについては RTP 配信が可能です

それは貴重な証拠だ。検索を絞り込みます。メイン ストリームが別のホスト、ポート、トランスポート モード、または NVR パスを使用しない限り、この時点以降、基本的なネットワーク到達可能性のデバッグを続行しないでください。

機能するサブストリームが証明できないこと

動作するサブストリームは次のことを証明しません。

  • メインストリームの URL パスは正しいです
  • メインストリームが有効になっています
  • メインストリームコーデックがサポートされています
  • メインストリームのビットレートはネットワークを越えることができます
  • メインストリームは複数のクライアントが利用できます
  • メインストリームは、デコード可能な SPS/PPS または VPS/SPS/PPS 証拠を送信します。
  • NVR は同じパスを通じてカメラのメインストリームを公開します

これが、メイン ストリームを必要とする VMS、分析システム、またはリストリーミング パイプラインにとって「VLC がサブ ストリームを開くことができる」だけでは十分ではない理由です。

コーデックの前に URL パスを確認する

多くのカメラ ファミリは、メイン ストリームとサブ ストリームに異なるパス パターンを使用します。 profile1profile2 を使用するものもあります。 /Streaming/Channels/101 および /Streaming/Channels/102 を使用するものもあります。 mainsubvideo1video2、またはベンダー固有のアクセス名を使用するものもあります。一部の NVR は、直接カメラ URL とは異なる方法でチャンネルを公開します。

メインストリームが「404 Not Found」を返した場合は、以下を検査してください。

  • DESCRIBE で送信された正確なリクエスト URI
  • URL パスがベンダー モデルと一致するかどうか
  • チャンネル番号
  • ストリーム番号
  • ONVIF によって検出されたプロファイル トークン
  • カメラ Web UI でストリームが有効になっているかどうか
  • URL がカメラ IP または NVR IP をターゲットにしているかどうか

404 をパケット損失として扱わないでください。 RTP はまだ開始されていません。

パスが有効になったらコーデックとビットレートを確認します

メイン ストリームが SDP を返し、RTP を開始してもビデオが表示されない場合は、コーデックとメディアの証拠に進みます。

メインストリームの障害は、次のような原因で発生することがよくあります。

  • 消費者は H.264 を期待しているのに、H.265 が選択される
  • H.264 SPS/PPS または H.265 VPS/SPS/PPS の証拠がありません
  • 非常に長いキーフレーム間隔
  • Wi-Fi または弱いアップリンクでの高いビットレート損失
  • 移動中のパケットの断片化と損失
  • デコーダ プロファイルまたはレベルがダウンストリーム システムでサポートされていません

この段階では、レポートには SDP、ペイロード タイプ、RTP シーケンスの連続性、コーデック NAL ユニットの証拠、および最初のデコード境界に到達したかどうかを含める必要があります。

同時実行制限と NVR の動作

一部の低価格 DVR、NVR、またはカメラ ファームウェア ビルドでは、メイン ストリーム アクセスが制限されています。メイン ストリームがローカル ディスプレイ、録画、ベンダー アプリ、または別のクライアントによってすでに消費されている間、サブ ストリームは利用可能なままである場合があります。これは、パスが正しい場合でも URL の問題のように見えることがあります。

便利なチェック:

  • 他の視聴者の接続を解除する
  • 直接カメラ IP と NVR IP をテストする
  • カメラ Web UI からメインストリームを比較
  • メインストリームのビットレートまたは解像度が低い
  • メインストリーム コーデックを H.265 から H.264 に切り替える
  • インターリーブされた TCP 経由の RTSP と UDP を個別にテストする

ビットレートを下げることで問題が解決する場合、元の障害は URL 構文ではなく転送容量にある可能性があります。

RTSP Inspector がこのケースをどのように組み立てるべきか

RTSP Inspector は、境界を説明する場合に最も強力です。

  • サブストリーム制御パスは成功します
  • メインストリーム制御パスがステータスコードで失敗する
  • メインストリームは SDP を返しますが、RTP は返しません
  • メインストリーム RTP がパケット損失を伴って到着する
  • メイン ストリーム コーデックのメタデータが欠落しているかサポートされていません
  • 主流は H.265 ですが、消費者は H.264 を必要としています

それが、「メインストリームが壊れた」ことと有用なサポートレポートの違いです。正しい次のアクションは、ベンダー URL の検索、ストリーム プロファイルの構成、コーデックの変更、ビットレートの削減、ファームウェアの更新、またはネットワーク パスの修復である可能性があります。

「RTSP サブストリームは機能するが、メインストリームは機能しない」という検索が正確である場合は、RTSP メソッド、SDP、コーデック、トランスポート、および同時実行性を比較することから始めます。作業中のサブストリームが診断の終わりではありません。コントロールサンプルです。

<!-- rtsp-localized-evidence-foundation-v1:start -->

「RTSP メインストリームは動作しないが、サブストリームは動作する: その違いが証明するもの」を再現可能に検証する手順

結論から言うと、黒画面や一つのステータスコードだけでは障害の所在を証明できません。信頼できる診断では、RTSP の要求と応答、合意した Transport、有効な Session、その後の RTP シーケンス番号、タイムスタンプ、RTCP の証拠を一つの時系列につなげます。「RTSP メインストリームは動作しないが、サブストリームは動作する: その違いが証明するもの」では表示症状に近い層から調べますが、制御、ネットワーク、デコーダーの問題を混同しないよう同じ記録時刻を使います。

カメラ、ファイアウォール、VMS の設定を変える前に、小さな基準テストを作ります。パスワードを除いた RTSP URL、時刻、パス、要求した Transport、サーバー応答、最初のメディアパケット到着時刻を記録してください。機器が対応する場合は UDP と TCP interleaved を別々に試します。パス、認証情報、Transport を同時に変えると、二回目の成功がどの変更によるものか分かりません。

確認層 保存する証拠 判断する質問
RTSP メソッド、状態、ヘッダー、CSeq、Session サーバーはその操作を受理したか
SDP control、payload type、clock rate、codec 期待するトラックが記述されているか
Transport client_port、server_port、interleaved 両端が同じ経路を使うか
RTP SSRC、sequence、timestamp、marker メディア単位が説明可能な順序で届くか
RTCP sender report、CNAME、BYE 時計、識別子、終了を追跡できるか
Decoder SPS/PPS/VPS、packetization mode 受信 payload で初期化できるか

「メディアが届かない」と「届くが復号できない」を分けます。SETUP と PLAY が成功しても RTP がなければ、UDP 経路、NAT、ファイアウォール、Transport 応答を調べます。シーケンスの穴は損失または並べ替えを示します。連続した RTP があるのに映像がなければ、payload type、clock rate、フレーム境界、H.264 または H.265 のパラメーターへ進みます。この境界はプレーヤーの一般的なエラーより有用です。

引用できる短い回答はどう書きますか

三文で、最後に成功した操作、最初に失敗した証拠、二つの原因を分ける次の試験を書きます。例は「DESCRIBE、SETUP、PLAY は成功した。通知されたクライアントポートに RTP が届かない。TCP interleaved の再試験で UDP 遮断とメディアパス誤りを分ける」です。応答やパケットなしにカメラやネットワーク全体を原因と断定しません。

再現に必要な最小情報は何ですか

OPTIONS、DESCRIBE、SETUP、PLAY、SDP、Transport 応答、秘密を除いた Session を保存します。RTP は SSRC、最初と最後のシーケンス、clock rate、欠落数、収録時間を記録します。VLC や別 VMS の成否は差分試験として有用ですが、成功したクライアントが全規則を正しく扱う証明ではありません。

サーバーとクライアントのどちらを調べますか

メソッド拒否、存在しない control URL、不一致 Transport、説明のない SSRC や時計変更はサーバー側を調べます。期限切れ nonce の再利用、Session 欠落、ポートを開かない UDP 要求、各 NAL 終端を access unit 終端とみなす処理はクライアント側を調べます。中間経路の問題では、各結論にパケットと時刻を添えます。

報告前に何を確認しますか

新しい接続で再試験し、二つの時系列を最初の相違点まで比較します。パスワードと完全な Authorization 値を削除し、結論を CSeq、sequence、timestamp に結び付けます。関連する RTSP ガイドで周辺手順を確認し、RTSP Inspectorで RTSP ストリームをローカルに試験してください。カメラ映像を公開サービスへアップロードする必要はありません。

<!-- rtsp-localized-evidence-foundation-v1:end --><!-- multilingual-blog-closeout:start -->

直接回答と受け入れ境界

「RTSP メインストリームは動作しないが、サブストリームは動作する: その違いが証明するもの」への短い答えは次のとおりです。RTSP サブストリームは機能するが、メイン ストリームが失敗する、フリーズする、404 を返す、またはデコードできない IP カメラの場合の診断ガイド。 この文は、すべての入力、デバイス、プロジェクト、環境に対する保証ではなく、検証すべき結果として扱います。完了した結果には、開始状態、正確な操作、目に見える出力、RTSP Inspector で作業が終わったと判断する条件が記録されています。

証拠を起点にした操作手順

プロジェクト全体を変更する前に、小さく再現可能なケースから始めます。アプリのバージョン、OS、入力またはデバイスの識別情報、重要な設定、期待結果を記録します。一つの操作だけを実行し、最初の予期しない変化を保存し、可能なら既知の正常ケースと比較します。複数の設定を同時に変えると、問題を作った条件や直した条件が分からなくなります。

確認点 1:RTSP メインストリームは動作しないが、サブストリームは動作する: その違いが証明するもの

「RTSP メインストリームは動作しないが、サブストリームは動作する: その違いが証明するもの」が曖昧な場合、条件をそろえた正常ケースと失敗ケースを比較します。後から現れた症状をすべて並べるのではなく、最初の意味のある差を示します。その境界が、明確な問い合わせと安全な次の実験につながります。

確認点 2:RTSP サブストリームは機能するが、メイン ストリームが失敗する、フリーズする、404 を返す、またはデコードできない IP カメラの場合の診断ガイド。

「RTSP サブストリームは機能するが、メイン ストリームが失敗する、フリーズする、404 を返す、またはデコードできない IP カメラの場合の診断ガイド。」は、最小で代表的な入力を使って確認します。関係のない設定は固定し、同じ操作を繰り返し、再度開いた後または再接続後も結果が保たれるか調べます。画像一枚より、入力、設定、操作、出力、時刻がそろった記録の方が強い証拠です。

確認点 3:動作するサブストリームが証明するもの

「動作するサブストリームが証明するもの」が曖昧な場合、条件をそろえた正常ケースと失敗ケースを比較します。後から現れた症状をすべて並べるのではなく、最初の意味のある差を示します。その境界が、明確な問い合わせと安全な次の実験につながります。

確認点 4:機能するサブストリームが証明できないこと

「機能するサブストリームが証明できないこと」は、最小で代表的な入力を使って確認します。関係のない設定は固定し、同じ操作を繰り返し、再度開いた後または再接続後も結果が保たれるか調べます。画像一枚より、入力、設定、操作、出力、時刻がそろった記録の方が強い証拠です。

確認点 5:コーデックの前に URL パスを確認する

「コーデックの前に URL パスを確認する」が曖昧な場合、条件をそろえた正常ケースと失敗ケースを比較します。後から現れた症状をすべて並べるのではなく、最初の意味のある差を示します。その境界が、明確な問い合わせと安全な次の実験につながります。

確認点 6:パスが有効になったらコーデックとビットレートを確認します

「パスが有効になったらコーデックとビットレートを確認します」は、最小で代表的な入力を使って確認します。関係のない設定は固定し、同じ操作を繰り返し、再度開いた後または再接続後も結果が保たれるか調べます。画像一枚より、入力、設定、操作、出力、時刻がそろった記録の方が強い証拠です。

確認点 7:同時実行制限と NVR の動作

「同時実行制限と NVR の動作」が曖昧な場合、条件をそろえた正常ケースと失敗ケースを比較します。後から現れた症状をすべて並べるのではなく、最初の意味のある差を示します。その境界が、明確な問い合わせと安全な次の実験につながります。

確認点 8:RTSP Inspector がこのケースをどのように組み立てるべきか

「RTSP Inspector がこのケースをどのように組み立てるべきか」は、最小で代表的な入力を使って確認します。関係のない設定は固定し、同じ操作を繰り返し、再度開いた後または再接続後も結果が保たれるか調べます。画像一枚より、入力、設定、操作、出力、時刻がそろった記録の方が強い証拠です。

確認点 9:「RTSP メインストリームは動作しないが、サブストリームは動作する: その違いが証明するもの」を再現可能に検証する手順

「「RTSP メインストリームは動作しないが、サブストリームは動作する: その違いが証明するもの」を再現可能に検証する手順」が曖昧な場合、条件をそろえた正常ケースと失敗ケースを比較します。後から現れた症状をすべて並べるのではなく、最初の意味のある差を示します。その境界が、明確な問い合わせと安全な次の実験につながります。

確認点 10:引用できる短い回答はどう書きますか

「引用できる短い回答はどう書きますか」は、最小で代表的な入力を使って確認します。関係のない設定は固定し、同じ操作を繰り返し、再度開いた後または再接続後も結果が保たれるか調べます。画像一枚より、入力、設定、操作、出力、時刻がそろった記録の方が強い証拠です。

受け入れマトリクス

確認点 残す証拠 合格条件
RTSP メインストリームは動作しないが、サブストリームは動作する: その違いが証明するもの 開始状態、一つの操作、結果状態 別の担当者が同じ結果を再現できる
RTSP サブストリームは機能するが、メイン ストリームが失敗する、フリーズする、404 を返す、またはデコードできない IP カメラの場合の診断ガイド。 開始状態、一つの操作、結果状態 別の担当者が同じ結果を再現できる
動作するサブストリームが証明するもの 開始状態、一つの操作、結果状態 別の担当者が同じ結果を再現できる
機能するサブストリームが証明できないこと 開始状態、一つの操作、結果状態 別の担当者が同じ結果を再現できる
コーデックの前に URL パスを確認する 開始状態、一つの操作、結果状態 別の担当者が同じ結果を再現できる
パスが有効になったらコーデックとビットレートを確認します 開始状態、一つの操作、結果状態 別の担当者が同じ結果を再現できる

失敗の分離、復旧、引き継ぎ

最初に失敗した境界で停止します。元データ、プロジェクト、セッション、キャプチャを保存し、破壊的な編集前に複製し、一回の実験では一つの変数だけを変えます。複数変更後に全手順をやり直して結果が変わっても、理由は説明できません。

証拠がないことと、存在しない証拠を分けます。空の画面は、入力、範囲、フィルター、権限、デバイス、時間帯、プロジェクト状態の誤りでも起こります。decoder、編集、レポート、書き出しを解釈する前に、取得または読み込み経路を証明します。

引き継ぎ前に成果物を再度開き、先頭、判断点、末尾を確認します。バージョン、環境、設定、期待、観察、最小再現手順を記録します。機密情報を削除またはマスクし、受取人に権限があることも確認します。

質問と回答

最も速く信頼できる開始方法は何ですか?

最小で代表的なケースを使い、期待結果を書き、一つの変数だけを変えます。フィルター、エフェクト、編集、自動化、大きな入力を加える前に、基本経路を確認します。

どの証拠を保存すべきですか?

入力の識別情報、バージョン、環境、設定、正確な操作、最初の異常な変化、最終出力を残します。プロジェクト、セッション、レポート、書き出しは閉じて開き直します。

いつ手順を繰り返しますか?

アプリ、OS、driver、firmware、モデル、入力、手順の変更が結果に影響し得る場合です。以前に合格したケースを変更せず、比較基準として残します。

いつ引き継ぎ可能になりますか?

権限のある別の人が入力を特定し、操作を繰り返し、同じ結果を確認し、残る制限を理解し、未記録のローカル状態なしで成果物を開ける時です。

関連ガイド

次の同一言語ページは、このトピックの正規所有者を変えずに隣接する工程を説明します。

<!-- multilingual-blog-closeout:end -->