6

这与我提出的最后几个问题无关。

我需要从 IP 网络摄像头 (SNC-RZ25N) 获取视频到 Flash Media Server。我宁愿不必使用 Windows,但如果它使事情变得更容易,我会的。(Flash Media Live Encoder 是一个仅限 Windows 的程序。)

我考虑了从 A 点到 B 点的许多不同路线,但似乎最简单的方法可能是使用 Flash Media Live Encoder 发布到 Flash Media Server。然后我必须弥合的唯一差距是获得 Flash Media Live Encoder 可读的视频源。

当然,我的来源在网络上,FMLE 寻找“Microsoft DirectShow 兼容视频捕获设备”。我找到了一个非免费的 SDK ( http://www.e2esoft.cn/vcam/vcamsdk.asp ),它应该允许我欺骗这样的设备,并希望将相机流发送到 FMS。

有谁知道我应该使用不同的程序或 SDK?我是否让事情变得比他们需要的更复杂?

4

4 回答 4

6

将 DirectShow 源过滤器变成捕获设备真的不难。您需要在正确的类别中注册过滤器,并实现 IKsProperty 以在输出引脚上报告正确的类别。

在http://tmhare.mvps.org/downloads.htm中查看 Vivek 的捕获源过滤器示例

G

于 2009-09-04T09:05:03.023 回答
1

Roman 的“IP 视频源”directshow 中继可以完成这项工作:http ://alax.info/blog/1223

此外,如果您想编写自己的代码,您可以基于https://github.com/rdp/screen-capture-recorder-to-video-windows-free它克服了 vivek 对 Flash 播放器的一个错误:http:// social.msdn.microsoft.com/Forums/en/windowsdirectshowdevelopment/thread/e02d7ac9-5dfe-4f9d-8ce5-4bb73badb6ed

所以基本上你需要实现 IAMStreamConfig,并在 pin 中设置 IKsProperty,将 IKsProperty 查询传递给 pin,并指定 PIN_CATEGORY_CAPTURE 我猜,也许其中一些你不需要......

于 2011-09-25T00:04:59.960 回答
0

使用“vivek directshow 捕获过滤器”。这是你基本上需要的。当然这是一个非常基本的示例代码。为了使您的代码能够与 Flash Player 一起使用,您需要实现所有必要的方法,例如 SetFormat/SetMediaType,并且由于 DirectShow 是相当不友好的界面,您将花一些时间在它上面。

于 2009-09-17T10:24:13.577 回答
0

您可能还想查看 Wowza Media Server,因为它对输入设备更加友好(支持 RTP/RTSP/MPEG-TS H.264/AAC 摄取)。http://www.wowzamedia.com

于 2009-11-04T03:56:35.583 回答