Warm tip: This article is reproduced from serverfault.com, please click

ffmpeg-如何将虚拟相机发送到Ubuntu中的Genymotion或Android Studio Emulator?

(ffmpeg - How can I send a virtual camera to Genymotion or Android Studio Emulator in Ubuntu?)

发布于 2020-11-25 15:06:01

我使用v4l2loopback和ffmpeg创建了一个虚拟相机。我用于ffmpeg的命令是:ffmpeg -re -l oop 1 -i vin.png -vf format = yuv420p -f v4l2 / dev / video2

vin.png是我要流式传输到网络摄像头的图像,/ dev / video2是我使用v4l2loopback创建的虚拟网络摄像头。虚拟网络摄像头可以正常工作,我可以通过onlinemicetest.com/webcam-test看到它我在Ubuntu 20.40上将Genymotion模拟器与最新的Android API(我尝试过7.0、8.1和10.0)一起使用。Genymotion检测到虚拟相机,但仅显示虚拟图像:Genymotion提供的虚拟图像 错误 我也尝试了(并希望使用)android studio模拟器。但是我只能在设备摄像头的配置中选择Webcam0,它指向真正的集成摄像头,而不指向我的虚拟摄像头。

我不需要使用ffmpeg,但是我确实需要使用一个工具,该工具可以让我控制要从命令行流式传输的图像。

有办法解决吗?提前谢谢了!

2020年11月17日更新:Genymotion支持人员回答我,他们计划将来支持虚拟相机。他们可能准备在2021年中期添加此内容。

Questioner
ykasur
Viewed
11
ykasur 2020-11-30 18:46:18

使用OBS和Android模拟器的解决方案:

  1. 遵循本教程:https : //blog.jbrains.ca/permalink/using-obs-studio-as-a-virtual-cam-on-linux
  2. 使用以下命令来更改你的Obs场景: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