【问题标题】:AVFoundation CoreMedaIO virtual camera not being detected in browser浏览器中未检测到 AVFoundation CoreMedaIO 虚拟摄像头
【发布时间】:2014-12-03 14:28:46
【问题描述】:

我一直在 Mac OS X 10.9 Mavericks 上测试 Apple CoreMediaIO sample camera

我尝试过的本地应用程序可以自动检测和识别示例相机(如SkypeAVRecorder - Apple's AVFoundation capture API sample

在 Mozilla Firefox 和 Opera 浏览器中,已在我检查过的基于 Flash Player 的网站上自动检测到摄像头(例如 Adobe's Cirrus sample),尽管在 Safari 和 Chrome 中,视频输入设备列表中缺少示例摄像头。

如何让这些浏览器识别此类网站上的 CoreMediaIO 示例摄像头?

【问题讨论】:

    标签: macos google-chrome safari camera avfoundation


    【解决方案1】:

    Safari:

    导致这种情况发生的问题是,在 Mavericks 上,当前 Safari 使用沙盒 Flash Player,它拒绝检测示例摄像头。

    您可以通过允许网站在不安全模式下运行 Flash Player 来解决此问题:(确保您已允许网站在 Flash Player 弹出窗口中使用您的相机)

    1. 转到 Safari/首选项
    2. 转到安全页面。
    3. 点击管理网站设置
    4. 在左侧窗格中选择 Adobe Flash Player
    5. 选择您已允许使用相机并希望与相机一起使用的网站
    6. 点击组合框
    7. 选择在不安全模式下运行
    8. 在弹出窗口中选择信任
    9. 刷新网站。

    从现在开始,Safari 可以检测特定网站上的示例摄像头。

    我还没有找到更好/全面的解决方案。

    铬:

    这个问题主要是由于当前Chrome默认禁用了Mac OS X AVFoundation API(CoreMediaIO示例使用了它)。

    有多种方法可以让 Chrome 检测示例相机。

    到目前为止,我最好的解决方案如下:

    1. 在 chrome 中打开一个新标签
    2. 转到 chrome://flags
    3. 搜索“启用 Mac OS X AVFoundation API,而不是 QTKit、Mac” 条目。
    4. 将上述条目设置为Enabled
    5. 重新启动 Chrome。

    据我所知,关键 AVFoundation 标志的内部 ID 是 IDS_FLAGS_DISABLE_AVFOUNDATION_NAME。 只要您尝试在 Chrome(OS X Mavericks)中使用基于 AVFoundation 的东西,您可能会需要它。 (我真的不知道为什么默认值被禁用,但我希望他们会改变它,因为 Apple 倾向于弃用 QTKit。)


    我不太喜欢的其他解决方案:

    禁用 Pepper Flash (PPAPI) 并改用 NPAPI Flash Player。

    1. 在 chrome 中打开一个新标签
    2. 转到 chrome://plugins
    3. 点击右上角详细信息旁边的加号 (+)。
    4. 搜索 Adobe Flash Player 插件部分。
    5. 找到 Pepper Flash 版本(PPAPI 类型)。
    6. 点击禁用
    7. 刷新网站。

    Google 打算很快弃用 NPAPI Flash Player,这使得 Pepper Flash (PPAPI) 成为唯一的替代方案,这就是尝试寻找比这更好的解决方案的原因。考虑到 NPAPI Flash Player 的未来,我不建议依赖此解决方案。

    还有另一个涉及 Mozilla Firefox 的临时解决方案。我不知道这究竟为什么有效,我认为这在未来可能很容易改变,但我尝试并验证它目前有效:

    1. 完全关闭 Chrome(Chrome/退出 Google ChromeCommand+Q)。
    2. 启动 Firefox
    3. 转到您想使用相机的网站(任何需要相机列表的基于 Flash Player 的网站都可以使用)。
    4. 打开 Chrome
    5. 关闭 Firefox。
    6. 在 Chrome 中访问网站

    如果您关闭 Chrome,则必须从第 2 步开始重新执行该过程。似乎 Firefox 初始化了一些使 Chrome 启动不同并导致它检测示例相机的东西。不过我不建议依赖这个。

    【讨论】:

      猜你喜欢
      • 2019-09-01
      • 1970-01-01
      • 2014-07-13
      • 1970-01-01
      • 1970-01-01
      • 2020-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多