2014-12-03 47 views
1

我一直在Mac OS X 10.9 Mavericks上测试Apple CoreMediaIO sample camera未在浏览器中检测到AVFoundation CoreMedaIO虚拟相机

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

在Mozilla Firefox和Opera浏览器的相机已经在我已经检查了基于Flash播放器的网站自动检测(例如Adobe's Cirrus sample),但在Safari和Chrome中,示例相机在视频输入设备列表中缺失。

我该如何让这些浏览器识别这种网站上的CoreMediaIO示例相机?

回答

0

Safari浏览器:

导致这种情况发生的问题是,小牛目前的Safari使用沙盒Flash播放器,其拒绝检测样品相机。

您可以通过允许网站在不安全的模式下运行Flash Player的解决这个问题:(请确保您允许的网站上使用Flash播放器弹出窗口的相机)

  1. 转到Safari/首选项
  2. 转至安全页面。
  3. 点击管理网站设置
  4. 在左侧窗格中,选择Adob​​e Flash Player
  5. 选择网站您已允许使用相机并希望使用相机。
  6. 点击组合框
  7. 选择以不安全模式运行
  8. 在弹出窗口中选择Trust
  9. 刷新该网站。

从现在起,Safari可以检测特定网站上的样本相机。

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

铬:

此问题主要是基于在Mac OS X AVFoundation API默认在当前浏览器(在CoreMediaIO示例使用它)被禁用。

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

到目前为止,我最好的解决办法是:

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

至于我能得到的,关键AVFoundation标志的内部编号为IDS_FLAGS_DISABLE_AVFOUNDATION_NAME。 只要你尝试在Chrome(OS X Mavericks)中使用基于AVFoundation的东西,你可能会需要这个。 (我真的不知道为什么默认值是禁用的,但我希望苹果倾向于贬低QTKit他们会改变它。)


其他的解决方案,我宁愿少:

禁用辣椒闪光(PPAPI)并使用NPAPI Flash Player代替。

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

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

还有一个涉及Mozilla Firefox的临时解决方案。我不知道到底为什么这工作,我觉得这可能很容易在未来改变,但我想和验证,它工作在此刻:

  1. 关闭Chrome的全部(镀铬/退出谷歌浏览器Command + Q)。
  2. 启动Firefox
  3. 转到网站你想使用的摄像头(任何基于Flash Player的网站的作品,对于摄像机列表调用)。
  4. 打开Chrome
  5. 关闭Firefox。
  6. 去网站在Chrome中。

如果关闭Chrome,则必须重新执行步骤#2的过程。看起来Firefox似乎初始化了一些让Chrome启动不同的东西,并导致它检测到示例相机。我不建议依靠这个。