我有兴趣开发一个应用程序,允许我从xml(包含视频标题,持续时间等)构建视频列表,并将该列表作为我的网络摄像头流播放。这意味着,如果我要访问ustream.tv,或者在live messenger上激活我的网络摄像头,我的视频播放列表会注册为我的活动网络摄像头。
有没有人在这方面有经验,也许有一些建议可以提供?
答案 0 :(得分:2)
如果您希望这样做,以便第三方应用将您的视频视为标准网络摄像头流(听起来非常像您),那么唯一的方法就是编写虚拟网络摄像头驱动程序。然后,您就可以将视频内容“播放”为网络摄像头的流媒体输出。这将涉及编写代码来解码视频内容 - 可能使用DirectShow - 然后将原始视频流复制到网络摄像头的输出流。您需要编写自定义DirectShow渲染器过滤器或使用样本抓取器来访问原始的已解码帧。
这肯定是一个可实现的目标,但并不是特别容易,因为DirectShow和驱动程序开发都有相当陡峭的学习曲线。您可以使用各种不同的驱动程序模型,具体取决于您的目标。最简单的方法是创建一个Video for Windows(VfW)虚拟摄像头驱动程序。这种方法的巨大好处是驱动程序将完全是用户模式代码 - 更容易调试和编写。
答案 1 :(得分:0)
我在这方面没有太多经验,但我会先看一下MSDN docs for the DirectShow API。
还存在几个.NET包装器库: