2010-08-17 37 views

回答

0

单从信息流点,看来你已经有了2个主要选项:

  1. 的应用广播流到多个客户端。
  2. 每个应用程序在链中形成一个链接,并读取并传递流。

选项1是更复杂的写,但更强大的 - 你会有效地编写一个视频服务器,选2是容易实现,但如果链中的崩溃一个环节,之后,所有的客户将失去视频。

不幸的是,我不太了解Directshow格式给你一个例子,但在最基本的方面,你需要阅读和重新传输流。

进程间通信可以通过多种方式完成,但它取决于您使用的编程语言 - 如果.Net,我会建议WCF。稍低一点的东西只需通过环回TCP/IP连接进行通信即可。

我会避免使用硬盘作为你一)失去相当大的性能传输数据和b)捶打硬盘没有什么优势

1

您可以捕获流多个共享内存区域。这样你可以在其他进程中看到这个内存的内容。

您必须实现某种进程间通信,以便您的其他进程获知应该显示哪个缓冲区。

当你编写你自己的采样卡时,这应该相对容易,甚至可以使用自己的内存分配器。这样,你甚至不会受到一个副本的影响。也许Boost.Interprocess将帮助你实现这个系统,否则请参阅win32中的内存映射函数。

0

使用VLC通过HTTP进行流式传输。