RTSP スケールと速度ヘッダーのデバッグ: 早送り、スローモーション、トリック プレイ、NVR 再生、およびサポートされていないレート
RTSP スケールおよびスピード ヘッダー、早送り、スロー モーション、NVR 再生、範囲インタラクション、サポートされていない再生レート、およびトリック プレイ カメラの動作をデバッグする方法
RTSP ライブ表示はすでに複雑ですが、録画再生では速度制御という別のレイヤーが追加されます。通常の再生は機能するが、早送り、逆再生、またはスロー再生が失敗する場合、ユーザーは「RTSP スケール ヘッダー」、「RTSP スピード ヘッダー」、「RTSP 早送りが機能しない」、「NVR トリック プレイ RTSP」、「RTSP 再生速度がサポートされていません」、および「RTSP スロー モーション カメラの再生」を検索します。
トリック プレイはコントロール プレーンの問題であるため、RTSP Inspector は便利です。クライアントは、Range、Scale、または Speed を指定して PLAY を送信し、サーバーはリクエストを受け入れる、クランプする、無視する、または拒否することができます。
スケールと通常の再生の比較
通常の再生は次のようになります。
PLAY rtsp://nvr/recording RTSP/1.0
Range: npt=0-
Trick play may add:
Scale: 2.0
またはサーバーのサポートに応じて別の料金がかかります。一部のサーバーは、選択された値のみをサポートします。サポートされていない値を無視するものもあります。実際に受け入れられるスケールを含む応答ヘッダーを返すものもあります。
よくある症状
失敗は次のように表示されます。
- 早送りボタンを押しても何も起こりません。
- ストリームが間違った時間にジャンプします。
- スケール要求後に再生がフリーズします。
- サーバーは「455 Method Not Valid in This State」を返します。
- サーバーは「457 無効な範囲」を返します。
- サーバーは「501 Not Implemented」を返します。
- サーバーは PLAY を受け入れますが、通常の速度を維持します。
- NVR は、早送り中にキーフレームのみを送信します。
- トリックプレイ中に音声が消えます。
これらは同じ失敗ではありません。正確なリクエスト ヘッダーとレスポンス ヘッダーが重要です。
範囲の相互作用
録画された RTSP の再生では、多くの場合、「レンジ」と「スケール」が組み合わされます。
例:
Range: npt=120-
Scale: 4.0
or:
Range: clock=20260603T010000Z-
Scale: 0.5
クライアントがサーバーがサポートしていない時刻形式を送信した場合、本当の問題は「範囲」であっても、失敗は速度の問題のように見える可能性があります。
サーバーの速度がクランプまたは書き換えられる
一部の NVR は離散値のみを受け入れます。
0.51.0- 「2.0」
4.0- 「8.0」
- キーフレームのみのモード
クライアントが「3.0」を要求した場合、サーバーは「2.0」または「4.0」を選択できます。適切なトレースでは、要求されたレートと、受け入れられた応答ヘッダーおよび実際の RTP タイミングが比較されます。
トリックプレイ中のオーディオの動作
多くのサーバーでは、早送りまたは逆再生中に音声が途切れます。オーディオは高速では意味のあるデコードができないため、これは予想されることかもしれません。
証拠:
- ビデオセットアップはアクティブなままです。
- 早送り再生後にオーディオ RTP が停止します。
- サーバーは音声の RTCP BYE を送信します。
- スケールが「1.0」に戻ると、オーディオ トラックが再開されます。
- SDP は引き続きオーディオをアドバタイズしますが、再生モードではそれが抑制されます。
RTSP 制御状態がチェックされるまで、これをパケット損失として診断しないでください。
キーフレームのみの早送り
NVR は多くの場合、高速再生中にキーフレームのみを送信します。これにより、帯域幅とデコード コストが削減されますが、RTP のリズムが変化します。
症状:
- ビデオがカクカクして見える。
- RTP ビットレートが低下します。
- フレームがまばらです。
- マーカービットのリズムが変化します。
- タイムスタンプは大きな間隔でジャンプします。
これは、ストリームの破損ではなく、正しいトリックプレイ動作である可能性があります。
逆再生非対応
逆再生は一般的にはサポートされていません。一部のサーバーは負のスケール値を拒否します。キーフレーム間をジャンプすることで逆再生をエミュレートするものもあります。
検索語:
- 「RTSP 逆再生はサポートされていません」
- 「RTSPマイナススケール」
- 「NVR巻き戻しRTSP」
- 「RTSP トリックプレイのみキーフレーム」
診断上の質問は、サーバーが要求されたレートを明示的に拒否したか、それともサイレントに動作を変更したかです。
デバッグチェックリスト
このプロセスを使用します。
- 動作中の通常速度PLAYをキャプチャします。
- トリックプレイPLAYをキャプチャします。
Range、Scale、およびSpeedヘッダーを比較します。- 応答ステータスコードを確認してください。
- 応答ヘッダーで受け入れられたレートを確認してください。
- RTP タイムスタンプのリズムを比較します。
- 音声が意図的に停止していないか確認してください。
- キーフレームのみのビデオの動作を探します。
- サポートされている離散速度をテストします。
- NVR ベンダーのサポートのために要求ヘッダーと応答ヘッダーを保存します。
最終診断
RTSP の早送り、スローモーション、トリック プレイの失敗は、制御ヘッダーとメディア タイミングを合わせて診断する必要があります。サーバーは、「Scale」と「Speed」を拒否、クランプ、無視、または部分的にサポートする場合があります。
RTSP Inspector は、問題がサポートされていない再生レート、範囲形式、NVR トリックプレイ ポリシー、音声抑制、またはクライアント解釈であるかどうかを証明するのに役立ちます。
<!-- rtsp-localized-evidence-foundation-v1:start -->「RTSP スケールと速度ヘッダーのデバッグ: 早送り、スローモーション、トリック プレイ、NVR 再生、およびサポートされていないレート」を再現可能に検証する手順
結論から言うと、黒画面や一つのステータスコードだけでは障害の所在を証明できません。信頼できる診断では、RTSP の要求と応答、合意した Transport、有効な Session、その後の RTP シーケンス番号、タイムスタンプ、RTCP の証拠を一つの時系列につなげます。「RTSP スケールと速度ヘッダーのデバッグ: 早送り、スローモーション、トリック プレイ、NVR 再生、およびサポートされていないレート」では表示症状に近い層から調べますが、制御、ネットワーク、デコーダーの問題を混同しないよう同じ記録時刻を使います。
カメラ、ファイアウォール、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 スケールと速度ヘッダーのデバッグ: 早送り、スローモーション、トリック プレイ、NVR 再生、およびサポートされていないレート」への短い答えは次のとおりです。RTSP スケールおよびスピード ヘッダー、早送り、スロー モーション、NVR 再生、範囲インタラクション、サポートされていない再生レート、およびトリック プレイ カメラの動作をデバッグする方法. この文は、すべての入力、デバイス、プロジェクト、環境に対する保証ではなく、検証すべき結果として扱います。完了した結果には、開始状態、正確な操作、目に見える出力、RTSP Inspector で作業が終わったと判断する条件が記録されています。
証拠を起点にした操作手順
プロジェクト全体を変更する前に、小さく再現可能なケースから始めます。アプリのバージョン、OS、入力またはデバイスの識別情報、重要な設定、期待結果を記録します。一つの操作だけを実行し、最初の予期しない変化を保存し、可能なら既知の正常ケースと比較します。複数の設定を同時に変えると、問題を作った条件や直した条件が分からなくなります。
確認点 1:RTSP スケールと速度ヘッダーのデバッグ: 早送り、スローモーション、トリック プレイ、NVR 再生、およびサポートされていないレート
「RTSP スケールと速度ヘッダーのデバッグ: 早送り、スローモーション、トリック プレイ、NVR 再生、およびサポートされていないレート」が曖昧な場合、条件をそろえた正常ケースと失敗ケースを比較します。後から現れた症状をすべて並べるのではなく、最初の意味のある差を示します。その境界が、明確な問い合わせと安全な次の実験につながります。
確認点 2:RTSP スケールおよびスピード ヘッダー、早送り、スロー モーション、NVR 再生、範囲インタラクション、サポートされていない再生レート、およびトリック プレイ カメラの動作をデ
「RTSP スケールおよびスピード ヘッダー、早送り、スロー モーション、NVR 再生、範囲インタラクション、サポートされていない再生レート、およびトリック プレイ カメラの動作をデバッグする方法」は、最小で代表的な入力を使って確認します。関係のない設定は固定し、同じ操作を繰り返し、再度開いた後または再接続後も結果が保たれるか調べます。画像一枚より、入力、設定、操作、出力、時刻がそろった記録の方が強い証拠です。
確認点 3:スケールと通常の再生の比較
「スケールと通常の再生の比較」が曖昧な場合、条件をそろえた正常ケースと失敗ケースを比較します。後から現れた症状をすべて並べるのではなく、最初の意味のある差を示します。その境界が、明確な問い合わせと安全な次の実験につながります。
確認点 4:よくある症状
「よくある症状」は、最小で代表的な入力を使って確認します。関係のない設定は固定し、同じ操作を繰り返し、再度開いた後または再接続後も結果が保たれるか調べます。画像一枚より、入力、設定、操作、出力、時刻がそろった記録の方が強い証拠です。
確認点 5:範囲の相互作用
「範囲の相互作用」が曖昧な場合、条件をそろえた正常ケースと失敗ケースを比較します。後から現れた症状をすべて並べるのではなく、最初の意味のある差を示します。その境界が、明確な問い合わせと安全な次の実験につながります。
確認点 6:サーバーの速度がクランプまたは書き換えられる
「サーバーの速度がクランプまたは書き換えられる」は、最小で代表的な入力を使って確認します。関係のない設定は固定し、同じ操作を繰り返し、再度開いた後または再接続後も結果が保たれるか調べます。画像一枚より、入力、設定、操作、出力、時刻がそろった記録の方が強い証拠です。
確認点 7:トリックプレイ中のオーディオの動作
「トリックプレイ中のオーディオの動作」が曖昧な場合、条件をそろえた正常ケースと失敗ケースを比較します。後から現れた症状をすべて並べるのではなく、最初の意味のある差を示します。その境界が、明確な問い合わせと安全な次の実験につながります。
確認点 8:キーフレームのみの早送り
「キーフレームのみの早送り」は、最小で代表的な入力を使って確認します。関係のない設定は固定し、同じ操作を繰り返し、再度開いた後または再接続後も結果が保たれるか調べます。画像一枚より、入力、設定、操作、出力、時刻がそろった記録の方が強い証拠です。
確認点 9:逆再生非対応
「逆再生非対応」が曖昧な場合、条件をそろえた正常ケースと失敗ケースを比較します。後から現れた症状をすべて並べるのではなく、最初の意味のある差を示します。その境界が、明確な問い合わせと安全な次の実験につながります。
確認点 10:デバッグチェックリスト
「デバッグチェックリスト」は、最小で代表的な入力を使って確認します。関係のない設定は固定し、同じ操作を繰り返し、再度開いた後または再接続後も結果が保たれるか調べます。画像一枚より、入力、設定、操作、出力、時刻がそろった記録の方が強い証拠です。
受け入れマトリクス
| 確認点 | 残す証拠 | 合格条件 |
|---|---|---|
| RTSP スケールと速度ヘッダーのデバッグ: 早送り、スローモーション、トリック プレイ、NVR 再生、およびサポートされていないレート | 開始状態、一つの操作、結果状態 | 別の担当者が同じ結果を再現できる |
| RTSP スケールおよびスピード ヘッダー、早送り、スロー モーション、NVR 再生、範囲インタラクション、サポートされていない再生レート、およびトリック プレイ カメラの動作をデバッグする方法 | 開始状態、一つの操作、結果状態 | 別の担当者が同じ結果を再現できる |
| スケールと通常の再生の比較 | 開始状態、一つの操作、結果状態 | 別の担当者が同じ結果を再現できる |
| よくある症状 | 開始状態、一つの操作、結果状態 | 別の担当者が同じ結果を再現できる |
| 範囲の相互作用 | 開始状態、一つの操作、結果状態 | 別の担当者が同じ結果を再現できる |
| サーバーの速度がクランプまたは書き換えられる | 開始状態、一つの操作、結果状態 | 別の担当者が同じ結果を再現できる |
失敗の分離、復旧、引き継ぎ
最初に失敗した境界で停止します。元データ、プロジェクト、セッション、キャプチャを保存し、破壊的な編集前に複製し、一回の実験では一つの変数だけを変えます。複数変更後に全手順をやり直して結果が変わっても、理由は説明できません。
証拠がないことと、存在しない証拠を分けます。空の画面は、入力、範囲、フィルター、権限、デバイス、時間帯、プロジェクト状態の誤りでも起こります。decoder、編集、レポート、書き出しを解釈する前に、取得または読み込み経路を証明します。
引き継ぎ前に成果物を再度開き、先頭、判断点、末尾を確認します。バージョン、環境、設定、期待、観察、最小再現手順を記録します。機密情報を削除またはマスクし、受取人に権限があることも確認します。
質問と回答
最も速く信頼できる開始方法は何ですか?
最小で代表的なケースを使い、期待結果を書き、一つの変数だけを変えます。フィルター、エフェクト、編集、自動化、大きな入力を加える前に、基本経路を確認します。
どの証拠を保存すべきですか?
入力の識別情報、バージョン、環境、設定、正確な操作、最初の異常な変化、最終出力を残します。プロジェクト、セッション、レポート、書き出しは閉じて開き直します。
いつ手順を繰り返しますか?
アプリ、OS、driver、firmware、モデル、入力、手順の変更が結果に影響し得る場合です。以前に合格したケースを変更せず、比較基準として残します。
いつ引き継ぎ可能になりますか?
権限のある別の人が入力を特定し、操作を繰り返し、同じ結果を確認し、残る制限を理解し、未記録のローカル状態なしで成果物を開ける時です。
関連ガイド
次の同一言語ページは、このトピックの正規所有者を変えずに隣接する工程を説明します。
<!-- multilingual-blog-closeout:end -->