从浏览器将网络摄像头视频录制到本地文件系统

时间:2010-06-28 06:30:26

标签: java flash browser firefox-addon webcam

将视频从网络摄像头录制到本地文件系统的最佳(也是最简单!)方式是什么 - 所有这些都来自浏览器?理想情况下,视频将以高清格式录制,然后我们可以使用ffmpeg将其转换为所需的格式和大小。

以下是我们研究的一些事项:

  1. 使用Flash流式传输到本地Red5服务器。但是我们在这里遇到了视频质量问题。
  2. 使用JMF的Java applet(我们甚至可以从applet写入文件系统吗?)。我们听说这可能不是很有效率。可以处理HD吗?
  3. 编写自定义Firefox插件。这会非常困难吗?
  4. 基本上最困难的是控件需要嵌入到浏览器中。我们需要的只是一个框,其中向用户显示网络摄像头框架,然后是一些Javascript钩子,以便我们可以在HTML页面内编码开始/停止按钮。

    计算机是完全控制的(它是一个自助服务终端),我们可以做任何事情。我们只需要一个在浏览器中运行的解决方案。我们当前的应用程序在Firefox中以kiosk模式运行,网络摄像头录制只是其中的一部分。

4 个答案:

答案 0 :(得分:1)

当地的Red5看起来是你最好的选择。无论您遇到什么样的质量问题,都可能比其他任何选项都更容易解决。

要么通过Red5邮件列表弹出并找出有关调整质量的信息,要么你知道有足够的Java自己去做。

有道理吗?

Ĵ

答案 1 :(得分:1)

与其他人提到的一样,由于安全沙箱,从浏览器中将任何文件写入本地文件系统是极其困难的。使用Flash / Red5的解决方案是一个很好的解决方案。

要解决视频质量问题,Camera对象有一个名为setQuality的函数。根据您要使用的捕获分辨率(使用Camera.setMode设置),使用某些压缩可能是值得的(出于同样的原因,Web服务器使用压缩)。您可以使用cam.setQuality(0,100)完全禁用压缩。如果我傻逼,你还应该快速查看API

此外,与Zárate一样,这可能是Red5的配置问题。因此,如果在Flash中更改质量无效,请查看Red5 Mailing Lists

答案 2 :(得分:0)

如果您仍在寻找解决方案,可以尝试:

https://framebase.io/

他们有一个录像机小部件,当用户保存录像时,它会自动为您转码视频。然后,您必须进行API调用,以便在完成转码后将视频恢复。

答案 3 :(得分:-2)

如果您拥有对计算机的完全访问权限,则应使用桌面应用程序录制视频。对于Web应用程序来说,录制视频和本地存储都相对困难,我认为您的解决方案不会比桌面应用程序更便携。