Camera with android emulator

How To Enable Camera in Android Emulator

by Viral Patel · May 8, 2012

By default when you create an Android Virtual Devices (AVD) in Android, the Camera is disabled. So if your application uses Camera API, it might not work properly in Android Emulator. Also SDCard must be defined in emulator in order to use Camera.

To enable Camera in your Android Emulator, just add following highlighted code in your AVD’s config.ini file. You can find the config.ini file under your user directory/.android folder.

In case you don’t find the config.ini file or want to enable Camera support through Android SDK and AVD Manager, follow below simple steps.
Open Android SDK and AVD Manager:

Step 1: Add SD Card in AVD

In the SD Card setting, set the value for Size. To enable camera, the SD Card must be enabled in Emulator.

Step 2: Add Camera Support in Hardware under AVD

Now under Hardware section, click New button to add Camera hardware. It will open following Dialog box. Select Camera support from the Property dropdown and click Ok.

Step 3: Enable Camera Support in Hardware

The new hardware: Camera support is visible under Hardware section. Set its value to yes and save changes by pressing Edit AVD.

And that’s all. Just save the changes and launch the emulator. You’ll be able to start Camera application and take snaps (Default android pic) through it.

Источник

Как воспользоваться вебкамерой в эмуляторе Android

Суть проблемы

Если мы используем эмулятор и камеру в нашем приложении, то на выходе получаем приблизительно такую картинку:

Хотелось бы, чтобы вместо этого были изображения с вебкамеры компьютера.

Подходы к решению

1) Можно доработать эмулятор Андроид, который в opensource.
2) Передать поток с вебкамеры по сети, и использовать его в приложении.
3) Использовать Android x86.

Исходники эмулятора для honeycomb недоступны с марта 2011, есть доступные deprecated версии, с ними работать весело, но непродуктивно. А жаль, это был бы наиболее приемлимый вариант. Тем более опыт допиливания приложений, которые работают с видеопотоком и v4l2 под Linux есть.
Androidx86 — похоже выход, это может помочь многим, но… У меня поднять веб-камеру не получилось.
Первый и третий подход нам недоступен, тогда будем бороться за второй подход.
Идея давно уже предложена и даже реализована для старых версий эмулятора и API. Для новых версий API предложено решение, но исключительно для JMF. Отличное решение, но мою камеру JMF не распознал. Заставить камеру работать с JMF не получилось ни в Linux, ни в Windows(возможно я что-то делал не так, по идее это решение должно запускаться в Windows). Все дальнейшие действия я проводил уже исключительно в Linux. Модифицируем решение этой проблемы на базе уже готового кода.
В исходном коде реализована классическая система клиент-сервер. Сервер на компьютере вещает в сеть картинки с камеры, а клиент в эмуляторе (в приложении) принимает эти картинки.

Читайте также:  Атом рпг для андроид как установить dlc

Что установлено

Сервер

Для создания сервера я решил двигаться по пути наименьшего сопротивления и воспользоваться библиотекой v4l4j — которая прекрасно поддерживает мою камеру.
Необходимо доработать исходный код таким образом, чтобы вместо JMF он использовал v4l4j. Вот что получилось.

измененный WebBroadcaster(привожу код полностью, чтобы была понятна логика работы. Автор Tom Gibara, я лишь адаптировал под v4l4j):

Какая логика работы:
При запуске включаем камеру и подготавливаемся к получению изображений:

Потом, когда клиент соединяется — высылаем ему изображение в поток:

Из доработок на будущее— код использует устаревшее getVideoFrame(), который надо-бы заменить на вызов callback функции при появлении нового фрэйма на камере, но пришлось бы вносить изменения также и в логику работы всей связки, потому оставил все как есть, Возможно перепишу лучше позже, когда будет время. Ведь это вспомогательная функция на этапе разработки… В идеале необходимо сделать чтобы программа читала поток в формате MJPEG, т. е. парсила multipart/x-mixed ответ от HTTP сервера и рисовала картинки по мере поступления.

Клиент

Cсылка на классический пример использования обычной камеры. Мы его немного сократим, упростим(в целях обучения и тестирования) и получим вот такой пример для обычной камеры.

Важные строки: Класс который будет отвечать за отображение.

А внутри этого класса Preview, перерисовываем каждый раз поверхность на который выводится предпросмотр.

Если этот код запустить в эмуляторе, то получим квадратик как на скриншоте выше.
Теперь, модифицируем класс таким образом чтобы он показывал картинки с нашего сервера.
1) Возьмем исходник класса SocketCamera отсюда. Добавим в наш проект.
2) Изменим исходный код класса Preview таким образом:

Результат

Теперь запустим сервер:
java -Djava.library.path=/opt/Android/v4l4j-0.8.10 -cp «/opt/Android/v4l4j-0.8.10/v4l4j.jar:./» com/webcambroadcaster/WebcamBroadcaster

где -Djava.library.path=/opt/Android/v4l4j-0.8.10 путь к вашей библиотеке v4l4j

Запустим приложение CameraDemo на эмуляторе. В результате получим видеопоток в с вебкамеры в эмуляторе. Поток немного дергает, идет с запозданием, но это лучше чем ничего.

Послесловие

Задумался о существующем пороге входа в технологию. Вроде бы и небольшой порог, но покупка устройства очень часто недоступна начинающему разработчику. Эмулятор снимает этот порог лишь частично.
А какой же тогда порог входа в разработку приложений под iPhone?

Столкнувшись с тем, что участник сообщества открытого кода закрывет его после некоторого времени, возникают вопросы:
А в прибыли ли только дело?
Может быть работа сообщества не оправдала ожиданий Google?
Неужели теперь есть что скрывать от сообщества?
А что теряет гигант, закрываясь от изучения и дополнения кода сторонними разработчиками?

UPD: Это все возможно уже и не актуально. skl1f подсказывает, что камера поддерживается в SDK.
developer.android.com/sdk/tools-notes.html — вроде документация говорит да, а официальный мануал: developer.android.com/guide/developing/devices/emulator.html — нет. Надо пробовать.

UPD2: Проверил. Камера в эмуляторе работает и доступна для SDK tools rev. 14 и выше и только для Android 4.0 и выше. Для старых платформ выше описанный способ все еще актуален.

Источник

DroidCam

Разработчик: DEV47APPS (Канада)
Лицензия: Бесплатно / Pro (3.46 USD)
Версия: 6.14 (Android) / 6.5.2 (Windows)
Обновлено: 2021-12-01
Системы: Windows / Android
Интерфейс: русский / английский
Рейтинг:
Ваша оценка:
Категория: Мобильные менеджеры
Размер: 15.6 MB (Windows) / 3.7 MB (Android)

купить

О программе

Что нового

Новое в версии 6.14 (Android) (01.10.2021):

  • Обновление библиотек Google/Android.

Системные требования

Операционные системы:

  • Windows / Linux (DroidCam Client)
  • Android 5.0 и выше (DroidCam)

Полезные ссылки

Подробное описание

DroidCam — мобильное приложение для использования камеры Android-устройства на компьютере. Вы сможете подключить и использовать камеру вашего мобильного устройства для видео связи в Skype, Discord, ZOOM, Teams и других настольных приложениях.

Для использования DroidCam, необходимо установить приложение на мобильное устройство, а также клиент программы на компьютер с Windows или Linux. Запустите клиент DroidCam на компьютере, выберите тип подключения (Wi-Fi или USB-кабель) и нажмите кнопку Start. Запустите мобильную версию DroidCam и она автоматически начнёт трансляцию видео. При необходимости, вручную введите IP-адрес устройства в клиенте программы. Камера мобильного устройства будет доступна в программах на компьютере как «DroidCam Sourse».

Читайте также:  Список планшетов самсунг обновление андроид 11

DroidCamX Pro — платная версия приложения, позволяющая управлять камерой и изменять настройки видео. В этой версии отсутствует реклама и доступна передача видео в HD-качестве.

Возможности DroidCam

  • Использование камеры смартфона или планшета в качестве веб-камеры компьютера.
  • Потоковая передача звука и видео с мобильного устройства на компьютер.
  • Подключение по Wi-Fi или USB-кабелю.
  • Передача видео с мобильного устройства в фоновом режиме.
  • Использование мобильного устройства как IP-камеру.
  • Pro HD видео 720p.
  • Pro Ускорение FPS на некоторых устройствах.
  • Pro Разворот и зеркальное отображение видео.
  • Pro Отсутствие рекламы.
  • Pro Сохранение кадров в jpg.
  • Pro Регулировка яркости, контрастности и задержки видео.
  • Pro Управление камерой: переключение светодиодов, включение непрерывной автофокусировки, изменение масштаба.

Как скачать DroidCam

Перейдите на страницу загрузки и выберите версию для вашего устройства.

Источник

OBS-Camera not recognized by Android Emulators (Tested with Andy, Bluestacks, Memu, Genymotion, Nox) #31

Comments

j0schi commented Jul 27, 2018

Hi, first things first: Thank you for this great plugin! It works just fine for Google hangouts and Skype.
My usecase however would be to use the camera with an android emulator. The Emulator runns just fine with droidcam for example which is also a virtual webcam. However, even if no other webcam is connected, the OBS-Camera is not recognized by any of those emulators. The partial solution from #11 did not work for me.

Kind regards
Patrick

The text was updated successfully, but these errors were encountered:

j0schi commented Jul 27, 2018 •

Idk if this is any usefull Information, but the manycam stream is recognized by Andy. Meaning, what i am doing right now is inputting the OBS-Camera into manycam and outputting it 1:1 into the emulator.
However with every instance there is more lag and lower quality. And as far as i know manycam has not such a good chromakey feature, so i would rather work with OBS. Also i am a little scared about the subscription model. I would have no problem with paying a one time fee tho.

Kind regards
Patrick

CatxFish commented Jul 27, 2018

I only have nox in my current environment , and it seems fine , But as I know nox only accept the first webcam device for its input so you might have to disable other camera first.

And I am not so sure about the compatibility with other emulators , but maybe you can try to change obs output resolution to see if is a resolution problem , because many real webcam use 4:3 as a default setting.

j0schi commented Jul 30, 2018

@CatxFish Thanks for the clarification, i will try to disable all other devices and then re-enable them.
If this works, it would be great. Actually i purchased manycam but i am very disapointed of the accuracy regarding the chroma key feature, so OBS is just a lot better.

Another Question: Is there a way to reduce the lag a little? its kind of big right now.

I will try to get my money back from manycam, so if OBS works with Nox/Koplayer, i would like to make a donation for the OBS Camera instead, where can i do this?

Kind regards
Patrick

j0schi commented Jul 31, 2018 •

I just want to leave another update here in case someone else needs this: i used manycam as a bridge from obs.

Читайте также:  Simpsons hit and run android 4pda

So what i do is add everything in OBS output it through virtual cam, read the stream in manycam, add music and

800ms delay for voice and read this into koplayer. Here it actually works even in 720p and there are no wierd cutouts like in nox 🙂

Would be nice if it would work directly tho 😉

Kind regards
Patrick

CatxFish commented Aug 2, 2018

The shortest direct delay would be 30-50 ms. That’s the best it can do.
And the donation is via Paypal.me
Hope you can achieve what you want.

iDarkFilter commented Apr 21, 2019

@j0schi i want to share my game as a webcam for Bluestacks or any android emulator to share it on Azar could you help me with the steps if it works with OBS

sandriaas commented May 22, 2019 •

I just want to leave another update here in case someone else needs this: i used manycam as a bridge from obs.

So what i do is add everything in OBS output it through virtual cam, read the stream in manycam, add music and

800ms delay for voice and read this into koplayer. Here it actually works even in 720p and there are no wierd cutouts like in nox 🙂

Would be nice if it would work directly tho 😉

@CatxFish @j0schi
did you successfully used it with bluestack, or bluestack just won’t work with it? i just tried using it with bluestack, it tells me that it can’t open the camera (whatsapp qr scan) and it says camera maybe in use (open camera app), i’m trying this with my VM on google. so i’m sure there aren’t any camera/imaging device installed.

btw thanks before, i hope you or someone can help me this time

Источник

Виртуальная камера в QEMU / Android

Виртуалка qemu, клиент — android-x86. Usb-камеры нет в наличии.

Хочу заставить ватcaп принимать входящие видеозвонки, но он отказывается если локальная видеокамера не доступна.

Как можно эмулировать камеру в android-е, или пробросить ему /dev/video0 с хоста?

Как его установить в android-е? Или пробросить с хоста как-то можно? Консоль с правами администратора там есть.

Usb-камеры нет от слова совсем.

это обычный ядерный модуль, собери для своего адроид ядра.

я правда не знаю есть ли тонкости в android с v4l2 устройствами.

Эмулятор, встроенный в Android Studio умеет эмулировать камеру (какя-то анимация воспроизводится). Эмулятор можно запустить отдельно от студии, он на основе qemu.

Погуглив понял, что это реально. Но если даже соберу модуль и загружу, то, как с /dev/video0 работать начать, хотя-бы картинку туда запихать имеющимися в android утилитами? Не придётся ли ещё и ffmpeg компилировать?

Ну-ну, а на какой у тебя шине источник картинки, которую ты пробрасывать собрался?

Ни на какой. Вопрос в том как создать виртуальную камеру. И лучше со смешной картинкой.

Не получается установить скаченный apk в эмулятор, висит окошко «Installing APK. » и всё
https://img15.lostpic.net/2020/02/03/534bed1cc9058056c3b5c23cc6098910.png

Сделай из командной строки, через adb. По крайней мере есть шанс увидеть выхлоп.

На Pixel 3a android 10 встал через маркет.

Для маркета нужен аккаунт Google, а он не создаётся.
Google не нравится номер телефона, пишет «Этот номер нельзя использовать для подтверждения ID». Пробывал несколько номеров, на которые точно ничего раньше не регистрировалось. Все номера от полосатой ОПГ, но это временно.

Хотел купить usb-камеру на днях, будете смеяться — не хватило 300р.

Не знаю как.
Но вот выхлопы (кое-что видно):

Источник

Оцените статью