Как я могу отправить виртуальную камеру в Genymotion или эмулятор Android Studio в Ubuntu?

Я создал виртуальную камеру с помощью v4l2loopback и ffmpeg. Для ffmpeg я использую следующую команду:ffmpeg -re -l oop 1 -i vin.png -vf format=yuv420p -f v4l2 /dev / video2

vin.png - это изображение, которое я хочу передать на веб-камеру, а / dev / video2 - это виртуальная веб-камера, которую я создал с помощью v4l2loopback. Виртуальная веб-камера работает, и я могу ее увидеть, например, на сайте http://onlinemicetest.com/webcam-test. Я использую эмулятор Genymotion с новейшим Android API (я пробовал 7.0, 8.1 и 10.0) на Ubuntu 20.40. Genymotion обнаруживает виртуальную камеру, но отображает только фиктивное изображение:Неверное фиктивное изображение от Genymotion Я также пробовал (и предпочел бы использовать) эмулятор студии Android. Но я могу выбрать только Webcam0 в конфигурации камеры устройства, и это указывает на реальную интегрированную камеру, а не на мою виртуальную веб-камеру.

Мне не нужно использовать ffmpeg, но мне нужно использовать инструмент, который позволяет мне контролировать, какое изображение передавать из командной строки.

Есть ли способ решить эту проблему? Спасибо заранее!

Обновление 17.11.2020: Служба поддержки Genymotion ответила мне, что они планируют поддерживать виртуальные камеры в будущем. Возможно, они будут готовы добавить это в середине 2021 года.

4 ответа

Решение

Решение с использованием OBS и Android Emulator:

  1. следуйте этому руководству: https://blog.jbrains.ca/permalink/using-obs-studio-as-a-virtual-cam-on-linux
  2. используйте эти команды для изменения сцен наблюдения: https://gist.github.com/nooitaf/9aabf72d00e16a61ea301c69ff38d804
  3. проверьте, какой / dev / video вы используете: v4l2-ctl --list-devices
  4. проверьте, какая веб-камера связана с этим видео в вашем avd: ./emulator -avd Pixel2 -webcam-list
  5. используйте эту веб-камеру для запуска эмулятора из командной строки: ./emulator -avd Pixel2 -camera-back webcam2

1. Отредактируйте изображение в формате 640 480 и сгенерируйте потоковую передачу "ffmpeg -re -l oop 1 -i 640480.png -vf format=yuv420p -f v4l2 /dev / video0".

2, Теперь настройки камеры genymotion отображаются нормально.

3, но он все еще не может делать снимки с виртуальной камеры:(.

Тест виртуальной камеры genymotion с изображением 640*480

ошибка в снимке

Вы не можете: Genymotion не поддерживает виртуальные камеры. См. https://support.genymotion.com/hc/en-us/articles/360002734498-My-webcam-does-not-work-with-Genymotion-Desktop

Я закончил 1,2,3 шага, но не понимаю 5,6 шага; В чем смысл? В genymotion работает? Спасибо за всю эту информацию.

Другие вопросы по тегам