ローカルネットワークで WebRTC カメラのトラブルを解決する方法

ローカルネットワークで WebRTC カメラのトラブルを解決する方法

著者 FixoLab


WebRTC カメラの不具合は、最初のフレームが表示されるまでにいくつもの段階があるため、突然起きたように見えることがあります。アプリはシグナリング情報を取得し、ネットワーク候補を集め、ピア接続をネゴシエートし、ネイティブのビデオデコーダーを起動します。これらのどの段階で失敗していても、テレメトリーは動作していることがあります。

Printer Tools では、Creality K2 とサポートされているリモートカメラの経路で WebRTC を使います。単純な MJPEG の URL と同じように扱ってトラブルシューティングしないでください。

Printer Tools
Printer Tools

すべての3Dプリンターを1つのダッシュボードで

1つのアプリからBambu Lab、Klipper、OctoPrint、Creality、Snapmaker、Anycubic、Flashforge、Elegoo、Prusaのプリンターを監視

Android、iPhone、iPad、Macに対応し、Apple WatchとWear OSのコンパニオンアプリ、VPN、OctoEverywhere、Obicoによるオプションのリモートアクセスも利用可能

Printer Tools

シグナリングのソースを確認する

Printer Tools は、サポートされているプリンターやサービスから、WebRTC のオファー、セッション情報、エンドポイントを受け取る必要があります。たまたま WebRTC の映像を表示している一般的な Web ページを、ストリームの URL として貼り付けることはできません。

プリンターの正確なモデルを確認し、最新のアプリを使ってください。Printer Tools が WebRTC を試すかどうかは、モデルごとの振り分けで決まります。

テレメトリーとカメラのネゴシエーションを分けて考える

ダッシュボードはプリンターの API 経由で更新されるのに Live View が動かない場合は、その事実を記録しておきましょう。ローカル経路の一部は動いていることが証明され、問題をシグナリング、候補、メディア、デコードのいずれかに絞り込めます。

両方とも動かない場合は、WebRTC のメッセージを読み解く前に、プリンターのアドレスとネットワーク経路を直してください。

ICE とネットワーク候補を確認する

シンプルな LAN では、ローカル候補を使って直接接続できることがあります。VLAN のルール、VPN、複数の有効なインターフェース、クライアント分離があると、到達できない候補が生じたり、シグナリングが成功したあとにメディアの経路がブロックされたりします。

スマートフォンとプリンターをメインの LAN に置いてテストしてください。テストの間は競合している VPN だけを無効にし、そのあとは保護を無効にしたままにせず、明示的な経路を設計しましょう。

ネイティブのランタイムを最新に保つ

WebRTC の再生にはネイティブライブラリを使います。リリース時の最適化で必要なネイティブクラスやバイナリが削除されると、ビルドはコンパイルできても実行時に失敗することがあります。リグレッションの報告をまとめる前に、Printer Tools の最新の公式リリースを使ってください。

カメラを開いたときにアプリが終了する場合は、正確なバージョンとプラットフォームを記録し、再起動後にログをエクスポートします。印刷にとって重要な操作の最中に、クラッシュを何度も再現させないでください。

よくある症状の読み取り方

  • すぐに拒否される場合は、エンドポイントやローカルサービスが利用できない可能性がある
  • いつまでも接続中のままの場合は、シグナリングや ICE ネゴシエーションが完了していない可能性がある
  • 音声や状態は届くのに映像が出ない場合は、メディアトラックやデコーダーの問題が考えられる
  • 映像が始まってから止まる場合は、ネットワークの途切れ、ビットレートの負荷、デコーダーの停止が考えられる
  • アプリが終了する場合は、ネイティブランタイムの障害が考えられ、正確なビルド情報が必要になる

危険なネットワークの回避策を避ける

シグナリングやメディアのポートをインターネットに広く公開しないでください。リモートアクセスには、サポートされているサービスの手順か信頼できる VPN を使います。許可範囲の広いルーターのルールは、診断を難しくするうえに、カメラを深刻な危険にさらします。

Creality 固有の設定については、K2 の WebRTC カメラのガイド を参照してください。

よくある質問

WebRTC は単なる映像の URL ですか?

いいえ。静的なストリームのパスだけでなく、シグナリング、候補のネゴシエーション、メディアトラックが含まれます。

WebRTC が失敗しているのに、プリンターのデータが動くのはなぜですか?

プリンターの API とカメラのピア接続は、別のサービスとネットワークの流れを使っているためです。

候補のポートをすべて転送すべきですか?

いいえ。広い範囲の公開ポートを開けないでください。ローカルの経路を修正するか、サポートされているリモートアクセスの方法を使ってください。

クラッシュの報告には何を含めればよいですか?

アプリのバージョン、プラットフォーム、プリンターのモデル、ファームウェア、実行した操作、再起動後に取得した新しい暗号化ログです。

公式情報: MDN — WebRTC API · RFC 8445 — ICE

Printer Tools
Printer Tools

すべての3Dプリンターを1つのダッシュボードで

1つのアプリからBambu Lab、Klipper、OctoPrint、Creality、Snapmaker、Anycubic、Flashforge、Elegoo、Prusaのプリンターを監視

Android、iPhone、iPad、Macに対応し、Apple WatchとWear OSのコンパニオンアプリ、VPN、OctoEverywhere、Obicoによるオプションのリモートアクセスも利用可能

Printer Tools