UVC 規格について
UVC(USB Video Class)とは、USBカメラの通信に関する標準規格。このドライバーは通常OS側が用意しているので、USBカメラのメーカーからドライバーを取得してインストールする必要がない。
UVCCameraライブラリ
https://github.com/saki4510t/UVCCamera
ルート化されていない Android デバイスで UVC Web カメラにアクセスするためのライブラリとサンプル。
UVCCameraライブラリ内のサンプルについて
-
usbCameraTest2
MediaCodec と MediaMuxer を使用して UVC カメラからのフレーム データを使用してムービーをキャプチャする方法。
このサンプルには、少なくとも Android 4.3(API>=18) が必要。この制限はライブラリ自体によるものではなく、MediaMuxer と MediaCodec#createInputSurface の制限によるもの。 -
usbCameraTest3
UVC カメラと内部マイクからのフレーム データを MediaCodec と MediaMuxer で使用してオーディオとムービーを同時にキャプチャする方法。
このサンプルには、少なくとも Android 4.3(API>=18) が必要。この制限はライブラリ自体によるものではなく、MediaMuxer と MediaCodec#createInputSurface の制限によるもの。 -
usbCameraTest4
オフスクリーン レンダリングの使用方法と、ディスプレイなしでムービーを録画する方法。
カメラとの通信はサービスとして実行され、アプリを停止しても動作し続ける。 カメラ通信を停止する場合は「サービス停止」ボタンをクリック。 -
usbCameraTest5
フレーム データを ByteArray として取得する IFrameCallback インターフェイスと、コールバック メソッドの使用方法。
-
usbCameraTest6
ビデオ画像を 2 つの TextureView に同時に並べて表示する方法。
-
usbCameraTest7
2 つのカメラを同時に使用する方法。
-
usbCameraTest8
明るさなどの UVC コントロールを設定/取得する方法。
android.comに記載されている外部USBカメラについて
https://source.android.com/docs/core/camera/external-usb-cameras?hl=ja
上記、公式のページによると、標準の Android Camera2 API で USB カメラ(Webカメラ)の使用をサポートしていると書かれています。(未検証)