как подключить и открыть USB камеру на Android ОС 9? - PullRequest
0 голосов
/ 24 февраля 2020

Я пытаюсь открыть предварительный просмотр с USB-камеры, подключенной к Android OS 9.

Сначала я попытался использовать API-интерфейс Camera2, но CameraManager.cameraIds возвращает только идентификаторы камеры устройства. Я знаю, что могу найти это USB-устройство по UsbManager.getDeviceList.

Но я не знаю, чтобы это устройство открылось как камера.

Если у вас есть ответ от Camera2, это лучшее решение , но если не Camera2, то добро пожаловать.

Спасибо

1 Ответ

0 голосов
/ 24 февраля 2020

Когда вы вставляете USB-камеру, вам нужно сначала проверить несколько вещей.

1) Ваша камера получает питание от USB-порта? (Для этого ваш USB-порт должен иметь USB- Поддержка OTG - USB-порт может выступать в качестве цели и хоста. Проверьте, светятся ли индикаторы на камере (если есть) или нет?)

2) Создается ли узел в каталоге / dev? (Только в случае в ядре включена поддержка v4l2 и UV C, узел будет создан). Если узел создается, теперь у вас есть доступ к реальному оборудованию, которое является USB-камерой, и с этого момента ваша работа будет легкой. чтобы проверить, используйте ли ls -l / dev / v * в файловой системе android и проверить, создается ли video0 или video1.

4) Если узел создан, вам нужно написать прошивку (UV C) и приобретать кадр из реального оборудования. Он (UV C) поддерживает различные вызовы ioctl, которые взаимодействуют со слоем v4l2 в ядре и будут извлекать вам кадры.

Эти кадры будут в основном иметь формат YUYV422 или YUYV420.

Как только вы получите кадры, преобразуйте их в RGB или Jpeg (Android имеет поддержку для преобразования) и отобразите на холсте или в виде изображения, как вам будет угодно.

Для записи вам, возможно, придется использовать fmpeg для кодирования. Это преобразует изображения в видео.

...