首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无头模式下的chrome无法通过webrtc连接

无头模式下的chrome无法通过webrtc连接
EN

Stack Overflow用户
提问于 2021-02-15 11:08:30
回答 2查看 1.2K关注 0票数 1

当尝试在chrome-headless模式下通过selenium自动化webrtc用例时,

我配置了以下选项:

代码语言:javascript
复制
caps := selenium.Capabilities{"browserName": "chrome"}
chromePrefs := make(map[string]interface{})
chromePrefs["profile.default_content_setting_values.media_stream_mic"] = 1
chromePrefs["profile.default_content_setting_values.media_stream_camera"] = 1
chromeCaps := chrome.Capabilities{
    Path: "",
    Args: []string{
        "--ignore-certificate-errors",
        "--use-fake-device-for-media-stream",
        "--use-fake-ui-for-media-stream",
        "--headless",
        "--no-sandbox",
        "--disable-dev-shm-usage",
    },
    Prefs: chromePrefs,
}
caps.AddChrome(chromeCaps)

在这里,我只是使用来自https://github.com/tebeka/selenium的golang selenium包装器,它位于原始java驱动程序之上。

所以观察结果是

  1. 在图形用户界面模式下(无头) chrome正在为我的PC中的所有界面生成冰候选,并且它在无头模式下与远程对等端
  2. 连接良好,它只生成一个带有mdns类型主机的ice候选程序,例如:392f939d-6507-45e1-87da-19b63fb76a9e.local和to,以及冰连接失败,因为我正在使用的远程对等程序不兼容解析mdns

为了克服这一问题,我添加了一个电击服务器支持,配置为使用示例的对等连接。

代码语言:javascript
复制
var peerConnectionConfig = { 'iceServers': [{ 'url': 'stun:192.189.67.565:3478' }], 'bundlePolicy': 'max-bundle'};

我可以通过wireshark清楚地看到,发送了眩晕绑定请求,并发送了成功映射的绑定成功响应地址(192.185.46.57),但它没有被铬用于在这种无头模式下生成额外的冰候选者。

我想知道是否有任何额外的/不同的配置必不可少的铬-webrtc-冰连接工作时,使用无头模式?

谢谢

EN

回答 2

Stack Overflow用户

发布于 2021-02-15 12:43:58

无头浏览器不支持首选项。

截至2021年2月

https://bugs.chromium.org/p/chromedriver/issues/detail?id=1925

无头铬不支持优惠设置。您只能使用命令行参数。

支持的参数的完整列表如下:

https://peter.sh/experiments/chromium-command-line-switches/

在这里你可以看到-眨眼-设置,

试一试

代码语言:javascript
复制
chrome_options.add_arguments('--use-file-for-fake-audio-capture=random_audio.wav')
chrome_options.add_arguments('--use-file-for-fake-video-capture=random_audio.y4m')
票数 0
EN

Stack Overflow用户

发布于 2021-03-31 21:42:49

我觉得不管用,我自己也试过了。我相信这是一个问题:https://bugs.chromium.org/p/chromium/issues/detail?id=776649

我正在测试的应用程序证实了我在日志中的怀疑:

代码语言:javascript
复制
2021-02-31 17:27:19.240 Available media devices: 
2021-02-31 17:27:19.241 :  audioinput
2021-02-31 17:27:19.241 :  videoinput
2021-02-31 17:27:19.241 :  audiooutput
2021-02-31 17:27:19.256 Local media is not present NotSupportedError: Not supported
2021-02-31 17:27:19.256 No local media configured
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66206927

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档