如何伪造流到 Chrome 而不是使用网络摄像头

Posted

技术标签:

【中文标题】如何伪造流到 Chrome 而不是使用网络摄像头【英文标题】:How to fake stream to Chrome instead of using WebCam 【发布时间】:2020-02-29 14:29:50 【问题描述】:

我正在使用 Java 和 Selenium 编写一个测试自动化框架。我在本地运行测试,也使用 Browserstack。

正在测试的网站包含使用 PC 相机扫描文档和面部的功能。

我想伪造一个流,而不是使用 PC 的网络摄像头。

有人能做到吗?

我正在使用以下 Chrome 选项:

chromeOptions.addArguments("--use-fake-ui-for-media-stream");
chromeOptions.addArguments("--use-fake-device-for-media-stream");
chromeOptions.addArguments("--use-file-for-fake-video-capture=C:/deleteme/bus.y4m");

当我单击通常会打开网络摄像头的按钮时,网络摄像头没有打开,所以它看起来像是在做某事。但是我的视频无法播放。

有没有人让这些在类似于我的场景中工作并且可以提供更多关于如何做到这一点的信息?

任何帮助将不胜感激。谢谢。

【问题讨论】:

嗨@Matt,你在哪里可以得到这个工作? 【参考方案1】:

我解决了将 mp4 文件转换为 mjpeg 的问题,这是一种也可以使用的格式,并将我的 chromedriver 设置为与您所做的相同,但使用文件的相对路径。

options.addArguments("--use-fake-ui-for-media-stream",
                     "--use-fake-device-for-media-stream",
                     "--use-file-for-fake-video-capture=src/test/resources/sample_640x360.mjpeg"); 

这个帖子帮助我到达那里:https://***.com/a/52188760/1843429

【讨论】:

以上是关于如何伪造流到 Chrome 而不是使用网络摄像头的主要内容,如果未能解决你的问题,请参考以下文章

EasyRTMP实现内网摄像头RTSP拉流转码RTMP推流到RTMP服务器EasyRTMP-Android视频采集流程是什么?

Android使用FFMpeg实现推送视频直播流到服务器

如何在 Raspberry Pi Motion 中访问网络摄像头,而不是使用端口

如何正确向 Chrome 提供模拟网络摄像头视频?

为啥我使用承保代码从网络摄像头获取图像而不是视频

2Window下安装FFmpeg并实现将摄像头的流推流到SRS