跨平台视频录制解决方案

5
针对我的Web应用程序,我希望允许用户通过网络摄像头录制自己的视频,并自动上传到网站。理想情况下,这将作为我的Web应用程序的一部分在浏览器中完成,可能使用Flash插件,例如由相当流行的nimbb.com提供的插件。
然而,Flash解决方案并不一定是理想的,因为即使nimbb演示也很难在Linux上工作,如果使用必须先下载的基于桌面的解决方案会让我的生活更轻松。它需要以开源库或非常完整的API的形式存在,因为我需要能够相当大程度地自定义细节-例如允许直接流式传输视频,在一定时间后自动停止记录等。
我偏爱Python,但任何其他语言都可以。有没有可以处理以下基本任务的程序或库?
  • 同时通过网络摄像头和麦克风录制视频和声音(最重要的)
  • 保存视频
  • 消除背景噪音
  • 调整亮度

很容易用Python,openCV,pygame,ffmpeg和sox自己制作一个简单的解决方案,可以做到这些事情,但我不是这个领域的专家,对视频以及背景噪声去除的整体质量不是很满意,而且这只能在Linux上工作,需要进行一些严格的移植(主要是由于使用了sox)。

摘要:我正在寻找具有与Skype相同的视频和音频质量,最好是开源的(如果有这个选项,我也会付费),并且像Python一样灵活。有什么建议吗?还是这个要求太高了?


当我一段时间前研究这种事情时,我认为客户端的Flash基本上是最先进的技术,特别是如果你想让它在许多平台上运行(需要服务器上某种特殊的流媒体服务器)。我非常有兴趣了解是否有所改变(或者我错了)。 - Aaron Watters
嗯,是的,这也是我目前的结论。不过,如果你有一点时间,我认为完全可以用Python来做这样的事情。无论如何,肯定已经有某种开源项目在做这个了,对吧? - Herman Schaaf
1个回答

3

好的。过去一天里,我已经做了大量关于这方面的研究,以下是我找到的最新情况:

WebRTC 是一个免费、开源的项目,通过简单的 Javascript API 为 Web 浏览器提供实时通讯 (RTC) 功能。目前,只有 Chrome 和最新版本的 Firefox、Opera 支持该技术。但不久之后,上述浏览器厂商将增加 WebRTC 技术,使其纳入 HTML5 规范中。因此,如果我们很幸运,我们将在一两年内拥有跨浏览器内置网络摄像头功能。

在此之前,Flash 是唯一的跨浏览器选择。有相当多的项目可以实现这一点,以下是其中一些最佳选项:OpenTokNimbbjRecorderjQuery webcam,分别适用于仅音频或仅视频。后者只能保存静止图像,因此可以尝试将其用于视频,但不建议。

至于跨平台开源桌面应用程序,我仍然没有找到任何有用的信息。希望在这方面能有所帮助!


既然您提到了WebRTC和跨平台桌面,不妨看看basysKom的这个WebRTC QML/Qt演示:http://www.youtube.com/watch?v=Vm5ebKWKNE8 - fejd

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接