未在浏览器中检测到AVFoundation CoreMedaIO虚拟摄像头

时间:2014-12-03 14:28:46

标签: macos google-chrome safari camera avfoundation

我一直在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示例相机?

1 个答案:

答案 0 :(得分:1)

的Safari:

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

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

  1. 转到Safari / 偏好设置
  2. 转到安全页面。
  3. 点击管理网站设置
  4. 在左侧窗格中选择 Adob​​e Flash Player
  5. 选择允许使用相机的网站 ,并希望将相机用于。
  6. 点击组合框
  7. 选择以不安全模式运行
  8. 在弹出窗口中选择信任
  9. 刷新网站。
  10. 从现在开始,Safari可以检测特定网站上的样本摄像头。

    我找不到更好/全面的解决方案了。

    铬:

    此问题主要基于当前Chrome中默认禁用的Mac OS X AVFoundation API(CoreMediaIO示例使用它)。

    Chrome有多种方法可以检测样本相机。

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

    1. 在Chrome中打开新标签
    2. 转到 chrome:// flags
    3. 搜索"启用Mac OS X AVFoundation API,而不是使用QTKit,Mac" 条目。
    4. 将上述条目设置为已启用
    5. 重新启动 Chrome。
    6. 据我所知,关键AVFoundation标志的内部ID为 IDS_FLAGS_DISABLE_AVFOUNDATION_NAME 。 只要您尝试在Chrome(OS X Mavericks)中使用基于AVFoundation的内容,您可能需要这样做。 (我不知道为什么默认值被禁用,但我希望他们会改变它,因为Apple倾向于弃用QTKit。)


      我更喜欢的其他解决方案:

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

      1. 在Chrome中打开新标签
      2. 转到 chrome://插件
      3. 点击详细信息旁边右上角的加号( + )。
      4. 搜索 Adob​​e Flash Player 插件部分。
      5. 找到 Pepper Flash 版本( PPAPI 类型)。
      6. 点击停用
      7. 刷新网站。
      8. 谷歌打算很快弃用NPAPI Flash Player,这使得Pepper Flash(PPAPI)成为唯一的选择,这就是尝试找到比这更好的解决方案的原因。考虑到NPAPI Flash Player的未来,我不建议依赖此解决方案。

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

        1. 完全关闭Chrome( Chrome /退出Google Chrome Command + Q )。
        2. 启动Firefox
        3. 转到网站您想要使用相机(任何基于Flash Player的网站都可以调用相机列表)。
        4. 打开Chrome
        5. 关闭Firefox。
        6. 转到Chrome中的网站
        7. 如果您关闭Chrome,则必须重做步骤2中的流程。似乎Firefox初始化了一些使Chrome启动不同并导致它检测样本相机的东西。我不建议依赖它。