“假” DirectShow视频采集设备
这与我最后问的几个问题无关。
我需要将视频从 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?我是否让事情变得比需要的更复杂?
This is tangential to the last few questions I've asked.
I need to get video from an IP webcam (SNC-RZ25N) to Flash Media Server. I'd rather not have to use Windows, but if it makes things easier, I will. (Flash Media Live Encoder is a Windows only program.)
I've considered many different routes from point A to point B, but it seems like the easiest might be to just use Flash Media Live Encoder to publish to Flash Media Server. Then the only gap I have to bridge is getting a video source readable by Flash Media Live Encoder.
Of course, my source is on the network and FMLE looks for a "Microsoft DirectShow compatible video capture device". I have found a not-free SDK ( http://www.e2esoft.cn/vcam/vcamsdk.asp ) that should allow me to spoof such a device and hopefully send the camera stream to FMS.
Does anyone know of a different program or SDK I should be using? Am I making things more complicated than they need to be?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
将 DirectShow 源过滤器转变为捕获设备实际上并不难。您需要在正确的类别中注册过滤器,并实现 IKsProperty 以在输出引脚上报告正确的类别。
查看 Vivek 的捕获源过滤器示例,网址为 http://tmhare.mvps.org/downloads.htm
G
It's really not that hard to turn a DirectShow source filter into a capture device. You need to register the filter in the right category, and implement IKsProperty to report the right category on the output pin.
Take a look at Vivek's capture source filter example at http://tmhare.mvps.org/downloads.htm
G
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,并在引脚中设置 IKsProperty,将 IKsProperty 查询向下传递到引脚,并指定 PIN_CATEGORY_CAPTURE 我猜,也许其中一些你不需要。 。
Roman's "IP Video source" directshow relay may do the job: http://alax.info/blog/1223
Also if you want to write you own, you could base off https://github.com/rdp/screen-capture-recorder-to-video-windows-free it overcomes one bug vivek's has with flash player: http://social.msdn.microsoft.com/Forums/en/windowsdirectshowdevelopment/thread/e02d7ac9-5dfe-4f9d-8ce5-4bb73badb6ed
So basically you need to implement IAMStreamConfig, and IKsProperty set in the pin, pass IKsProperty queries down to the pin, and specify PIN_CATEGORY_CAPTURE I guess, maybe some of that you don't need...
使用“vivek directshow 捕获过滤器”。这是你基本上需要的。当然,这是一个非常基本的示例代码。为了使您的代码能够与 Flash Player 配合使用,您需要实现所有必要的方法,例如 SetFormat/SetMediaType,并且由于 DirectShow 的界面相当不友好,因此您将花费一些时间。
Use the "vivek directshow capture filter". It is what you basically need. Of course this is a very basic sample code. In order your code to work with Flash Player, you need to implement all neccessary methods like SetFormat/SetMediaType and since DirectShow is rather non friendly interface, you'll spend some time on it.
您可能还想看看 Wowza Media Server,因为它对输入设备更加友好(支持 RTP/RTSP/MPEG-TS H.264/AAC 摄取)。 http://www.wowzamedia.com
You may also want to look at Wowza Media Server, as it is much friendlier with input devices (supports RTP/RTSP/MPEG-TS H.264/AAC ingest). http://www.wowzamedia.com