USB カメラからの映像を WebRTC で配信する Android アプリケーションの製作

依頼内容

  • Android に USB カメラを接続して、WEB RTC で配信させたい。

解決方法

  • Android に USB カメラを接続するアプリケーションが github にいくつかあったので、それらのソースコードを参考することとした。参考にしたソースコードでは、libusb と libuvc を改造したものであった。
  • WEB RTC をサポートするサーバとしては、LiveKit というサーバがあり、お客様の要件に合っていた。
  • LiveKit には、Android 用の SDK が提供されていた。

こういった状況であり、以下のようにした。

  • Android アプリケーションとして実装した。言語は、Kotlin/Compose を使用。
  • libusb/libuvc (Cライブラリ) をネイティブコンパイルして shared object として参照するように構成した。
  • LiveKit Andoid SDK を使用。
  • libusb/libuvc から取得したイメージを、LiveKit Android SDK の BitmapFrameCapturerer クラスを派生させたクラスでハンドンリングするようにした。

構成

  • Kotlin / Compose
  • libusb / libuvc (Cライブラリ)

1969年生まれ。大学卒業後から15年以上にわたり、通信、カードリーダ、セキュリティ業界においてソフトウェア開発に従事。その後、2012年5月に当社を設立。電力、交通、車載向けの組み込み系システム、旅行業界向けの WEB システム開発、音声合成システム、消防向けのシステム開発等に参画。
低コストかつシンプルで安定稼働するシステムの実現を目指し、アーキテクチャ設計に取り組んでいます。
会社情報と代表者守屋のプロフィール詳細