直接の答え
実際のネットワークに対して十分なジッター保護を維持しながら、遅延目標を設定し、各ステージを測定し、回避可能なキューを削除します。 WebRTC を責める前に、カメラ GOP とエンコーダーのバッファリングから始めてください。
なぜこれが起こるのか
低遅延プロトコルは、カメラ エンコーダ、トランスコーダ、または特大のプレーヤー バッファによってすでに作成された遅延を消去できません。 各キューは、速度と引き換えに回復力を犠牲にすることもできます。
通常、ブラウザにはカメラ フィードを Web ネイティブの配信パスに変換するゲートウェイが必要です。
管理されたテスト
可視タイム ソースまたは同期タイムスタンプ方式を使用して、正常なネットワーク条件と障害のあるネットワーク条件下でキャプチャと表示を比較します。
一度に 1 つの変数を変更します。 カメラのモデル、ファームウェア、エンドポイント、アカウントを記録しておきます。 次に、ネットワーク到達可能性、プロトコル応答、メディアトランスポート、およびデコードを個別のレイヤーとしてテストします。
専用の表示専用アカウントと信頼できるローカル診断ツールを使用します。 出力を共有する前に、資格情報、プライベート アドレス、識別データを編集します。
診断シーケンス
| チェック | アクション | 進歩の証拠 |
|---|---|---|
| カメラ | エンコーダとキーフレームの動作を測定します。 | ソース遅延は既知です。 |
| ゲートウェイ | デコード、トランスコード、キュー時間を特定します。 | パススルーコストとコンバージョンコストは分離されています。 |
| ネットワーク | ターゲットパス上のRTT、ロス、ジッターを測定します。 | ジッター バッファーのサイズは証拠に基づいて決定されます。 |
| ブラウザ | レンダリング遅延と損失後の回復を測定します。 | 経験は定められた目標を満たしています。 |
保管すべき証拠
単一のベストケースの数値ではなく、レイテンシの予算表を公開します。 デバイス、コーデック、ネットワーク条件、測定方法が含まれます。
境界と安全上の注意
すべてのバッファをゼロにすると、フリーズやアーティファクトが発生する可能性があります。 目標は、許容可能な回復力を備えた制限された遅延です。
リモート表示の場合は、RTSP またはカメラ管理ポートをパブリック インターネットに直接公開するのではなく、管理された VPN を使用します。
SmartRTSP
SmartRTSP は、Apple デバイス、Windows、Android 用のカメラに焦点を当てた RTSP および ONVIF ビューアです。 直接表示、発見、マルチカメラのチェックに適しています。 継続的な記録、証拠のエクスポート、または企業の集中管理が必要な場合は、専用の NVR または VMS を用意してください。
よくある質問
WebRTC は 1 秒未満の遅延を保証しますか?
いいえ。ブラウザがメディアを受信する前に、カメラ エンコーダ、ゲートウェイ、ネットワークがバジェットを消費する可能性があります。
最初に何を調整すればよいでしょうか?
ブラウザーのジッター バッファーを減らす前に、カメラ GOP とゲートウェイ キューを測定します。
パススルーで遅延を軽減できるか?
ブラウザがソース コーデックとパケット化をサポートしている場合は、トランスコーディングを回避できるため、はい。
一次参考文献
- IETF RFC 7826 — リアルタイム ストリーミング プロトコル 2.0
- W3C — WebRTC 1.0 仕様
- FFmpeg — RTSP プロトコルのオプションと例
- IETF RFC 5905 — ネットワーク タイム プロトコル バージョン 4
関連する SmartRTSP ガイド
関連ガイドを開く1 つのバッファーを盲目的に調整するのではなく、エンドツーエンドの遅延をカメラのエンコード、取り込み、ゲートウェイ、ネットワーク、ジッター、ブラウザーのデコードに分割します。