USB カメラからの映像を WebRTC で配信する Android アプリケーションの製作
2025/03/01, 2025/03/03 - ~
依頼内容
- 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ライブラリ)