使用开源媒体服务器捕获Flash网络摄像头/麦克风

时间:2010-12-15 18:02:55

标签: flash video-capture flash-media-server

从Flash捕获视频需要使用媒体服务器,但它们似乎都没有任何可用的文档(甚至不包括API文档或其他源代码注释)。我更喜欢crtmpserver,因为我的应用程序是用C ++编写的,它需要实时接收和处理捕获的数据。但是,Red5显然是一个更成熟,更知名的项目,所以我也考虑了这个选项。 Adobe FMS太昂贵,可能很难与我的应用程序集成,因为Adobe从未提及过这样的用例。

据我所知,必须为媒体服务器编写一个“应用程序”(它们不附带任何可用的东西),然后必须转发数据以进行实际处理。应用程序可以从媒体服务器获得什么样的数据,它是一个普通的FLV流还是还有更多的东西(带宽协商等)?

编写Flash方面不是问题,有很多例子(即使他们没有说明应该如何构建媒体服务器URL)。

实际问题:服务器端如何工作(高级视图),是否有任何东西可以从实时捕获功能开始?

4 个答案:

答案 0 :(得分:3)

几年前,我正在开展一个电子学习项目,让学生能够录制答案(仅在我的情况下录音),教授可以听取它并给学生评分。

我们考虑了Adobe FMS,Wowza媒体服务器(http://www.wowzamedia.com)和Red5。最后选择Red5是因为它是唯一可用于此项目的免费开源选项,即使它没有太多文档。

它是如何工作的我最终修改了一个打包的示例以满足我的需要并让服务器在Mac OS 10.4上运行。 Red5基本上抓住了音频流并将文件保存到了机器上的目录中。然后,我必须更新数据库以指向音频文件,以便教授能够播放它。注意,我没有对流进行任何实时修改或重播;如果这是你项目范围的一部分。

无论如何,Red5当时没有太多的社区,所以我无法将我学到的知识贡献给他们的文档,但现在看起来他们现在更活跃了,如果你确实选择了Red5我会要求您参与该项目并帮助记录它。

答案 1 :(得分:1)

您可以查看haxevideo是否适合您的开发。

答案 2 :(得分:1)

媒体服务器通常就是这样 - 提供媒体服务。您是否尝试在Flash应用程序中使用流媒体视频?如果是这样,您提到的任何一台服务器都应该适合。

但是,如果您尝试从闪存中捕获和发布流式视频,除了网络摄像头流之外,AFAIK还没有很好的方法可以做到。

对于网络摄像头流和其他基本互动的实时发布,您可能需要查看Adobe LiveCycle协作服务(代号为Cocomo)。

答案 3 :(得分:1)

我们现在正在使用crtmpserver。一些注意事项:Flash需要连接到rtmp:// server:1935 / appname(其中appname是要使用的应用程序 - 这些是在服务器端配置的)。即使URL中有多个部分(用斜杠分隔),整个组合也被认为是appname(即使播放时似乎有异常,允许将flv文件名放在那里)。

通过连接到“flvplayback”应用程序然后通过“somename”(带有“record”或“append”)发布进行录制,使服务器写入(相对于CWD)applications / flvplayback / mediaFolder / somename.flv < / p>

您无法更改应用程序名称,但在URL中使用flvplayback的别名之一可能看起来更好(不会影响文件所在的文件夹)。其中一个默认别名是“live”,因此您可以使用“rtmp:// server:1935 / live”作为URL。