RTSP ストリームのトラブルシューティング: カメラ ストリームの完全な診断ガイド
完全な RTSP 診断ワークフロー: 接続層、コントロール プレーン エラー (400/401/404/454/461/500/503)、メディア プレーン障害 (H.264/H.265/RTP/RTCP)、セッション管理、Wireshark/VLC との比較。すべての RTSP 問題が診断ページにマップされます。
これは、RTSP カメラ ストリーム診断のハブ ページです。すべての RTSP の問題はパターンに従っており、接続層、コントロール プレーン、またはメディア プレーンで障害が発生します。このガイドでは、一般的なすべての障害を特定の診断ページにマッピングし、収集すべき証拠を示します。
クイックトリアージ: どこに障害があるのか?
特定のページを読み取る前に、どの層に障害が発生しているかを判断します。
- クライアントはカメラに到達できますか? → 接続層の問題
- DESCRIBE は有効な SDP を返しますか? → コントロール プレーンの問題
- RTP パケットは到着し、正しくデコードされていますか? → メディア プレーンの問題
どのレイヤーに障害が発生しているかわからない場合は、体系的な診断ワークフロー から始めてください。
Connection layer: reaching the camera
コントロール プレーン: RTSP コマンド エラー
これらは、DESCRIBE、SETUP、または PLAY に応答してカメラによって返されるプロトコル レベルのエラーです。エラー コードは、何が問題だったかを正確に示します。
400 不正なリクエスト
- RTSP 400 Bad Request: DESCRIBE failed — 不正な形式の URL、サポートされていないヘッダー、プロキシの干渉。 Axis、Dahua、および Hikvision URL 形式をカバーします。
401 不正
RTSP 401 認証ループ — ダイジェストと基本認証、ノンス/レルム パラメーター、VLC では認証が成功するのにアプリでは失敗する理由。
RTSP ダイジェスト認証の詳細 — Nonce の有効期限、レルムの一致、stale=true の処理。
401/404 カメラ URL 診断 — URL があるクライアントでは機能するが、別のクライアントでは機能しない場合。
404 見つかりません
401/404 カメラ URL 診断 — 間違ったストリーム パス、カメラ固有の URL 形式。
Aggregate control URL and SDP SETUP 404 — SDP のコントロール URL が DESCRIBE URL と一致しない場合。
454 セッションが見つかりません
- RTSP 454 セッションが見つかりません — セッション ID の不一致、期限切れのセッション、セットアップ前の再生。
461 サポートされていないトランスポート
- RTSP 461 Unsupported Transport: SETUP failed — UDP と TCP のトランスポート ネゴシエーション、ffmpeg "method SETUP failed: 461"、Frigate/Scrypted/NVR 統合エラー。
500 / 503 サーバーエラー
RTSP 500 内部サーバー エラー — カメラ側の障害。カメラのファームウェアに障害があると判断できるのはどのような場合ですか。
RTSP 503 サービスを利用できません — カメラ リソースの枯渇、同時ストリームの多さ、帯域幅の制限。
トランスポートとネットワーク
UDP RTP がファイアウォール/NAT によってブロックされました — RTSP 制御は機能しますが、UDP RTP メディアがブロックされています。ファイアウォール ルール、NAT トラバーサル、RTSP プロトコル ポート構成、TCP インターリーブ フォールバック。
TCP インターリーブ チャネル ミスマッチ — インターリーブ RTP/RTCP チャネルがクライアントとサーバー間で一致しない場合。
一致しないトランスポート サーバーの応答 — サーバーは、要求されたものとは異なるトランスポート パラメーターで応答します。
マルチキャスト UDP デバッグ — マルチキャスト RTSP/RTP 構成、IGMP、TTL、およびネットワーク インフラストラクチャ。
RTSP タイムアウト: UDP と TCP のインターリーブ — UDP と TCP でストリームのタイムアウトが異なる理由。
Media plane: RTP, codec, and payload problems
RTP packet analysis
H.264 and H.265 codec issues
Audio and metadata tracks
ONVIF and camera-specific
RTCPとセッション管理
RTCP 送信者レポート: ジッターと損失 — RTCP SR パケットを読み取り、カメラの観点からネットワーク品質を理解します。
RTCP BYE: ストリームが予期せず終了する — カメラが RTCP BYE を送信してストリームを終了したとき。
RTCP CNAME とオーディオ/ビデオ同期 — RTCP CNAME を使用してオーディオ トラックとビデオ トラックを同期します。
RTSP TEARDOWN とセッション クリーンアップ — カメラ リソースのリーク、再接続の失敗、ビジー ストリーム状態。
RTSP セッション タイムアウトとキープアライブ — ストリームが約 30 秒後に停止する理由とストリームを維持する方法。
RTSP Range header and NPT — Range パラメーターと NPT パラメーターを使用して再生位置を制御します。
RTSP Scale ヘッダーとトリック プレイ — Scale ヘッダーを介した早送り、巻き戻し、速度制御。
Comparison and alternatives
はじめる
RTSP 診断は初めてですか?ここから始めてください:
- 体系的な診断ワークフロー — 3 層のモデルと証拠の収集。
- ストリームに接続 — 最初の RTSP 接続をセットアップします。
- トラブルシューティング ガイド — 一般的な障害とその修正。
「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 --><!-- rtsp-localized-layer-verdicts-v1:start -->観測から層ごとの判定へ
「RTSP ストリームのトラブルシューティング: カメラ ストリームの完全な診断ガイド」では解釈より先に観測を書きます。観測は別の担当者が記録から見つけられるものです。CSeq に結び付いた RTSP 状態、SDP 値、Transport 応答、連続番号の穴、SSRC 変更、RTP timestamp と RTCP sender report の差などが該当します。「サーバーが遅い」「コーデック非互換」は、具体的な証拠が他の原因より強く支持するまで仮説です。
処理を境界に分けます。TCP 接続、OPTIONS または DESCRIBE の受理、利用可能な SDP の track・control URL・payload type・clock rate、互換性のある SETUP 応答、有効な Session を伴う PLAY を順に確認します。その後に RTP 到着、順序、時刻、デコーダー準備を調べます。成功証拠のない最初の境界で止まり、後段の情報で前段の欠落を隠しません。
比較では原音と時間範囲を固定します。UDP と TCP interleaved は同じパスと認証情報で試します。main stream と sub stream は同じクライアントと Transport を使います。VLC と VMS の比較では実際のメソッド、ヘッダー、URL を記録してください。control URL、Authorization、Session、keepalive の違いが製品名より結果を説明する場合があります。
除外マトリクス
仮説は二つから始めます。メディアがない場合、UDP 遮断または別ポートへの送信を考えます。TCP interleaved は前者、Transport の提案と応答、IP、ポート比較は後者を試験します。映像破損では RTP sequence がパケット損失と初期化不足を分け、最初の frame 前の SPS/PPS/VPS が codec パラメーター仮説を試験します。
各仮説に支持証拠と反証可能な証拠を書きます。どのパケットでも否定できない主張は広すぎます。「NAT が UDP を捨てる」はクライアントポートへの RTP 到着で否定できます。「H.264 パラメーターがない」は IDR 前の有効な SPS/PPS で否定できます。これにより報告が可能性一覧ではなく優先順位付き判断になります。
時刻を混同しない
RTSP CSeq は制御取引、RTP sequence はパケット順、RTP timestamp はメディア標本時刻、capture clock は観測点への到着を表します。同じ時計ではありません。到着揺れだけでは timestamp drift を証明できず、sequence 証拠のない timestamp 跳躍だけでは損失を証明できません。音声と映像は RTCP sender report で共通基準へ関連付けます。
合格資料
新しい接続で一つの変更を再現できた時に調査を閉じます。入力、最後の成功境界、最初の失敗証拠、変更、再試験結果、未試験事項を書きます。巨大なファイルではなく短い transcript または統計を添えます。秘密は消しますが、CSeq、脱敏した Session、SSRC、時間範囲は残します。
RTSP トラブルシューティングで順序を再確認し、RTSP Inspector レポートでカメラ、ネットワーク、VMS の担当へ証拠境界を渡せます。
<!-- rtsp-localized-layer-verdicts-v1:end -->