3DプリンターカメラにMJPEG、RTSP、RTSPS、WebRTCのどれを選ぶか

3DプリンターカメラにMJPEG、RTSP、RTSPS、WebRTCのどれを選ぶか

著者 FixoLab


カメラプロトコルの解説

結論

MJPEG、RTSP、RTSPS、WebRTCはすべてPrinter Toolsで動作しますが、内蔵カメラでどれを実際に使うかは、ほとんどの場合プリンター自体のファームウェアによって決まります。たとえばKlipperとOctoPrintはMJPEG、Creality K2はWebRTC、Bambu Labの大型プリンターはRTSPSを使います。この4つのプロトコルが実際に選べる対象になるのは、専用アドオンで外部カメラを追加するときだけです。

適切な選択に影響すること

  • そのカメラがプリンター内蔵のフィードか、独立した外部カメラか
  • 低遅延を重視するか、幅広い互換性を重視するか
  • ストリームを暗号化する必要があるか。これはローカルネットワークの外に公開するカメラでより重要になります
  • 具体的なカメラのハードウェアが実際に何に対応しているか

各プロトコルを比較する

  1. 1

    シンプルさならMJPEG

    MJPEGはプレーンなHTTP経由でJPEG画像の連続したシーケンスを送信します。シンプルで広くサポートされており、Printer Tools内のKlipperのcrowsnestとOctoPrintの標準的なウェブカメラルートで既定として使われています。

  2. 2

    効率的なローカルストリーミングならRTSP

    RTSPは個々の画像の代わりにきちんとしたビデオコーデックを使うため、一般的にMJPEGと同じ品質でも帯域幅が少なくて済みますが、代わりに既定では暗号化されません。

  3. 3

    暗号化されたストリーミングならRTSPS

    RTSPSはTLS上のRTSPで、同じ効率的なストリーミング方式に暗号化を加えたものです。Bambu LabのX1系列とP2S系列は、Printer Tools内の内蔵カメラにRTSPSを使います。

  4. 4

    低遅延なブラウザ風ストリーミングならWebRTC

    WebRTCは非常に低い遅延でのリアルタイム通信向けに設計されており、そのためCrealityのK2系列はPrinter Tools内の内蔵カメラにWebRTCを使います。

  5. 5

    外部カメラの実際の対応状況に合わせる

    外部カメラを追加する際は、そのカメラが実際に公開しているプロトコルを選んでください。ほとんどのカメラは4つのうち1つか2つにしか対応していません。

プロトコルの比較一覧

これはPrinter Tools内のプリンターカメラで各プロトコルが一般的にどう使われているかを示すものであり、どれが普遍的に最良かのランキングではありません。

プロトコル一般的な遅延暗号化使用例
MJPEG高めなしKlipper(crowsnest)、OctoPrint、PrusaLinkのサムネイル
RTSP低いなし外部カメラ、Anycubic Kobra X
RTSPS低いありBambu LabのX1系列とP2S系列
WebRTC非常に低いありCreality K2系列、外部カメラ

Printer Toolsでの各種カメラプロトコル

Printer Toolsで外部および内蔵プリンターカメラに表示されるカメラプロトコル設定Printer Toolsで外部および内蔵プリンターカメラに表示されるカメラプロトコル設定

内蔵プリンターカメラはメーカーごとに固定のプロトコルを使う一方、外部カメラではハードウェアに合ったプロトコルを選べます。

Printer Toolsが対応していること

  • 内蔵プリンターカメラと外部カメラアドオンの両方にわたるMJPEG、RTSP、RTSPS、TCP JPEG、WebRTC
  • 接続されたプリンターのモデルに基づく内蔵カメラの自動プロトコル選択
  • そのカメラが実際に公開している内容に合わせた、外部カメラの手動プロトコル選択

自由に選べないこと

  • プリンター内蔵のカメラを、そのファームウェアが提供するもの以外のプロトコルに切り替えることはできません
  • RTSPSやWebRTCのような暗号化プロトコルも、カメラやプリンターが正しく実装していることが前提です
  • 一部のBambu LabおよびAnycubicのモデルで使われるTCP JPEGは、同じプリンター上でMJPEGに置き換えることはできません

よくあるプロトコルの誤解

P2Sと同じようにK1でもRTSPSを使いたい

Creality K1系列は内蔵カメラにMJPEGを使いますが、これはPrinter Tools内の設定ではなくCrealityのファームウェアによって決められています。

外部カメラがこれらのうち1つのプロトコルにしか対応していない

カメラを追加する際にその特定のプロトコルを選んでください。カメラが4つすべてに対応している必要はなく、Printer Toolsは実際に提供されているものであれば動作します。

弱いネットワークでWebRTCがカクつく

WebRTCも十分な帯域幅と安定したローカル接続に依存します。混雑したWi-Fiネットワークは、ほかのライブ映像プロトコルと同様にこれに影響します。

プロトコルとリモートアクセス

カメラプロトコルの選択とリモートアクセスは別の話です。基盤となるローカルプロトコルがMJPEG、RTSP、RTSPS、WebRTCのいずれであっても、OctoEverywhereとObicoはそれぞれ独自に映像をリモートへ伝送します。

よくある質問

総合的にはどのプロトコルが最良ですか

普遍的に最良な選択肢はありません。WebRTCとRTSPSは低遅延と暗号化を重視し、MJPEGはシンプルさと幅広い互換性を重視します。適切な選択はカメラと用途によって異なります。

プリンター内蔵カメラのプロトコルを変更できますか

いいえ。プリンター内蔵カメラはそのファームウェアが公開しているプロトコルをそのまま使い、Printer Toolsは手動での上書きなしにそれに自動的に従います。

Printer ToolsはONVIFカメラに対応していますか

はい。外部カメラ機能を通じて対応しており、ローカルネットワーク上のONVIF対応カメラの自動検出にも対応しています。

TCP JPEGはMJPEGと同じものですか

いいえ。TCP JPEGは一部のBambu LabおよびAnycubicモデルが内蔵カメラに使う独自の伝送方式で、KlipperやOctoPrintが使う標準的なMJPEGストリーミングとは別物です。

カメラ機能の全体像を見る

プリンター内蔵の連携から外部のONVIF、RTSP、WebRTCカメラまで、対応するすべてのカメラ伝送方式を確認してください。

カメラ対応状況を見る
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