機能の統合¶
本章では、FIRERAP リモートデスクトップおよびその関連機能を統合する方法について説明します。これにより、独自のフロントエンドページに統合し、操作や表示など様々な機能を実現できます。本章ではその方法については説明しません。詳細の確認とテストは、当社の APIFOX ドキュメントをご参照ください。ただし、ここではいくつかの事前設定やその他の基本情報について説明します。
ヒント
事前設定¶
インターフェースのテストを容易にするため、まずデバイスが USB で現在のコンピュータに接続されていること、そしてデバイスでログイン証明書検証(https)が有効になっていないことを確認してください。この2つのステップが完了したら、Apifox プラットフォームの関連設定も行う必要があります。ws インターフェースが含まれるため、Apifox デスクトップクライアント(Web版ではない)をインストールし、関連プロジェクトをクライアントにインポートする必要があります。インストール方法やインポート方法についてはここでは説明しませんので、ご自身でお調べください。
リアルタイムビデオ¶
リアルタイムビデオは Websocket を使用して転送されます。ビデオは MJPEG (MOTION JPEG) と H.264 NALU の2つの転送形式をサポートしています。そのうち、MJPEG の使用方法が最も簡単です。MJPEG で実際に転送される内容は、現在のデバイス画面のスクリーンショットであり、十分に速く転送することで、動的なリアルタイムのデバイス画面となります。あなたが行うべき唯一の処理は、Ws で受信した各フレームメッセージを JPEG 形式で画面に描画することだけです。もう一方の H.264 は、比較的高度な基礎知識が要求されます。なぜなら、Canvas にレンダリングする前に、デコード操作を行う必要があるからです。ご自身で検索するか、既存の h264 デコーダーを統合してデコードと描画を行ってください。
H264 と MJPEG の違いは、H264 の方がデータ量を少なくとも半分に削減でき、速度も速い点です。もちろん、すべてのデバイスに適しているわけではありません。一部のデバイスでは H264 のエンコード性能が高くない場合があり、その場合は MJPEG を使用して転送するべきです。もちろん、MJPEG にも欠点があり、各フレームが純粋な画像であるため、高い帯域幅が要求されます。
リアルタイムタッチコントロール¶
リアルタイムタッチコントロールも Websocket を使用して転送されます。特別なことはなく、特定のフォーマットに従って「押下」、「移動」、「解放」の3つの操作を送信するだけです。Webページの mousedown や up などのイベントを利用して実行できます。転送される主なデータはイベントと座標です。ここで唯一注意すべき点は、ユーザーが canvas 上で操作した座標を、canvas と実際の画面サイズに基づいて変換し、実際の画面上の対応する座標を計算する必要があることです。
キー操作¶
キー操作は、比較的最も簡単な部分です。特定のフォーマットで関連インターフェースに POST リクエストを送信するだけです。キー操作では、デバイスのナビゲーションキーの制御や、通常の英字入力がサポートされています。
コマンドターミナル¶
コマンドターミナルは Websocket を使用します。xterm.js などの関連技術を使用して連携操作を行う必要があります。API ドキュメントに従って、入出力を特定のフォーマットに整形して送信するか、xterm に出力をリクエストするだけです。