我试图测试Linux上的Chromium是否通过无头模式正确访问网络摄像头:
chromium-browser --headless https://example.com --repl
但是chrome似乎忽略了视频捕获设备的输入,因为网络摄像头指示灯LED没有亮起。但是,当Chrome在GUI模式下运行时,相同的测试页面工作得很好。
以下是REPL行之前的输出提示:
[0512/233001.068247:错误:gpu_process_transport_factory.cc(1019(] 丢失 UI 共享上下文。
[0512/233002.458966:错误:video_capture_device_factory_linux.cc(102(] 未在 std 中实现::list media::(anonymous namespace(::GetFrameRateList(int, uint32_t, uint32_t, uint32_t(
[0512/233002.459566:INFO:headless_shell.cc(399(] 键入要计算的 Javascript 表达式或"退出"以退出。
这是Chrome无头模式的限制吗?
你真的需要使用网络摄像头吗?如果没有,那么你可以使用假凸轮吗?
如果是这样,请尝试:
chrome.exe --use-fake-ui-for-media-stream --disable-web-security --use-fake-device-for-media-stream --use-file-for-fake-video-capture="C:UsersuserDesktoptestfileName.y4m" --allow-file-access
使用这种方式,您可以在chrome中测试网络摄像头。