aptpod Advent Calendar 2023 12月7日の記事です。
intdash Edge Agentを使ってみたいけどMacしか持ってないみなさん、
こんにちは。ソリューションアーキテクトの伊勢です。
intdash Edge AgentはLinuxで動きますが、試しに手元のPCで動かしてみたいときがあります。
そんな人のために今回はMacからカメラ映像をUpstreamしてみました。
これは以前、当ブログでご紹介したWSL2でintdash Edge Agentを動かしてみましたのMac版です。
おことわり
当記事は安定的なデータストリーミングを保証するものではありません。
intdash Edge Agent とは
intdash Edge Agent(以下、Agent)は、intdash Edgeの基本機能を提供するエッジデバイス用のエージェントソフトウェアです。ユーザーは、接続するデバイスに応じたプラグインであるDevice Connectorを実装するだけで、様々なデバイスをintdashに接続することができます。このソフトウェアを使用すれば、intdash Edge が提供する自動再送、データ流量の制御といった、エッジ側の基本機能を利用したクライアントアプリケーションを、最小限の追加実装で開発することが可能となります。
Dockerを建てればいいじゃない
Agentを動かすだけなら、仮想環境構築ソフトウェアのDocker DesktopでLinuxコンテナを建てれば実現できます。
しかし、この構成だとMacに接続したUSBカメラは利用できません。
MacとLinuxコンテナでデバイスを取り扱う方法が異なり、LinuxコンテナがUSB機器を認識できないからです。
そこで Parallels Desktop を使うことにします。
Parallels Desktop とは
Parallels Desktopとは、M シリーズチップ搭載Mac向けの仮想環境構築ソフトウェアで、Mac上で異なるOSのアプリケーションを動かすことができます。14日間のトライアル期間は無料で使えます。
なお、intel チップのMacの場合は代わりにVirtual Boxで同様のことが実現できます。
全体図
Parallels Desktopでカメラデバイスを仮想Linuxに/dev/video*
として渡すことで、物理Linux機同様にAgentがカメラ映像を収集できます。
手順
ざっくりやり方です。
必要物品を用意する
- Macbook
- USBカメラ
- USB Type-A/Type-C変換アダプタ(必要に応じて)
- 被写体
Parallels DesktopでLinux環境を作成する
MacbookにParallels DesktopをインストールしてUbuntu環境を建てます。
こちらの記事を参考にさせていただきました。
USBカメラを接続する
MacbookにUSBカメラを接続します。
Parallels DesktopウィンドウのUSBアイコンをクリックすると接続したカメラデバイスが認識されていますので、クリックします。
これでカメラデバイスがUbuntuに認識されました。簡単ですね。
Agentをインストールする
今回は最新版のAgent 2(intdash Edge Agent 2)を利用します。
インストール・設定手順はデベロッパーズガイドの通りです。
カメラ映像をUpstreamする
ストリームを開始します。
Parallels Desktopでカメラデバイスの映像をintdashに送信できました。
これでAgentの動作や、可視化されたデータの確認を進めることができます。実運用ではMacを使うことは少ないと思いますが、手軽にAgentを試せるのは魅力です。
それではメリークリスマス。よい年の瀬を。
補足
残念ながら安定運用には向いていないようで、長時間の利用だと映像が乱れることがありました。