記事検索

検索ワードを入力してください。
Sky Tech Blog
SKYDIV 独自方​式の​カメラ/オーディオリダイレクト ​その​④​(Linuxでの​カメラリダイレクトの​仕組み)

SKYDIV 独自方​式の​カメラ/オーディオリダイレクト ​その​④​(Linuxでの​カメラリダイレクトの​仕組み)

SKYDIV Desktop Clientの**Linuxでのカメラリダイレクト**機能についての技術紹介です。仮想ブラウザ方式を用い、Dockerを活用してリモート接続先のブラウザでカメラを使用する仕組みを説明しています。

SKYDIV Desktop Clientで実装されている機能(Linuxでのカメラリダイレクト)の技術紹介です。

前回までのカメラ/オーディオリダイレクトの1回から3回の記事は主にWindowsに関する内容でしたが、4回目となる今回はLinuxでのカメラリダイレクトについてご紹介いたします。

前回の​記事

SKYDIV Desktop ClientのLinux対応は仮想ブラウザ方式で、リモート接続先のブラウザでカメラを使用することが可能となっております。

Linuxでの​カメラリダイレクトの​流れ

全体像は下記のようになっております。

図中の①~⑤は2回目のカメラリダイレクトの説明と同様で、またキャプチャ処理や画像データの変換などの各工程も同じになります。

① 画像データのキャプチャ処理
② 画像データの変換・フレームデータを作成
③ フレームデータを送信
④ フレームデータを受信して仮想カメラにインプット
⑤ 仮想カメラからOSに対してフレームデータを返却

異なっているのは、図の中で④と⑤の間にDockerや仮想カメラデバイスの2つ目が登場している部分です。
この部分がLinux特有の部分となりますので、下記でご説明いたします。

Linuxでの​カメラリダイレクトの​詳細

Dockerとは

まず図中に登場するDockerについて簡単にご説明いたします。

Dockerは仮想のOSを実現するプラットフォームの一つで、SKYDIV Desktop ClientではVDI方式で使用しているHyper-Vに近い機能を持ちます。
特徴として、OSのすべてを仮想化するのではなく、ファイルシステムやプロセスなど一部の機能のみを仮想化し、それ以外はホストOSの機能をそのまま利用することで、仮想化によるオーバーヘッドが少ないメリットがあります。

Dockerでの仮想OSに当たるものはDockerコンテナと呼ばれており、図中での「リモート接続先」になります。

仮想カメラデバイスの​マッピング

仮想カメラデバイスはDockerでは仮想化されず、ホストOSのデバイスが直接使用されます。

ただし、既定の状態では各DockerコンテナからホストOSのデバイスを使用することができず、Dockerコンテナにマッピングすることで初めて使用できるようになります。

2つの仮想カメラは実態が同じものですので、SKYDIVの仮想デバイス管理が仮想デバイスにフレームデータを渡すと、Dockerコンテナ内の仮想カメラデバイスに渡したのと同じことになり、ブラウザからフレームデータを取得することが可能になります。

複数の​クライアントPCから​カメラを​使用する​場合

複数のクライアントPCから同時にアクセスしカメラを使用した場合も、それぞれ別の仮想カメラデバイスが作成されDockerコンテナにマッピングされますので、他の方のカメラを利用することは出来ません。

2個の場合は下記の図のようになります。

まとめ

以上、Linuxでのカメラリダイレクトの仕組みをご紹介いたしました。

Linuxでのカメラリダイレクトは、仮想化プラットフォームがDockerであることが大きな違いとなっていましたが、Windowsでリダイレクトの基盤ができていたことでLinuxに特化した部分に注力できたと思います。
将来を見越した設計が重要だと感じる部分です。

最後に

全4回にわたってSKYDIV Desktop Clientのカメラ/オーディオリダイレクトについてご紹介いたしました。

第1回 SKYDIV独自方式でのリダイレクトについて
第2回 カメラリダイレクトについて
第3回 オーディオリダイレクトについて
第4回 Linuxでのカメラリダイレクトについて

皆様の参考になれば幸いです。
最後まで読んでいただきありがとうございました。


XFacebookLINE
キャリア採用募集中!

入社後にスキルアップを目指す若手の方も、ご自身の経験を幅広いフィールドで生かしたいベテランの方も、お一人おひとりの経験に応じたキャリア採用を行っています。

Sky株式会社のソフトウェア開発や製品、採用に関するお問い合わせについては、下記のリンクをご確認ください。
お問い合わせ
ホーム