我已经成功地用directshow从我的相机捕捉实时视频流。如何使用directshow执行进程间(非线程)流共享?
但我怎样才能将流分享给另一个进程,有什么想法?
RGS!
UPDATE
可以与一些代码示例说明?
我已经成功地用directshow从我的相机捕捉实时视频流。如何使用directshow执行进程间(非线程)流共享?
但我怎样才能将流分享给另一个进程,有什么想法?
RGS!
UPDATE
可以与一些代码示例说明?
通过文件?
单从信息流点,看来你已经有了2个主要选项:
选项1是更复杂的写,但更强大的 - 你会有效地编写一个视频服务器,选2是容易实现,但如果链中的崩溃一个环节,之后,所有的客户将失去视频。
不幸的是,我不太了解Directshow格式给你一个例子,但在最基本的方面,你需要阅读和重新传输流。
进程间通信可以通过多种方式完成,但它取决于您使用的编程语言 - 如果.Net,我会建议WCF。稍低一点的东西只需通过环回TCP/IP连接进行通信即可。
我会避免使用硬盘作为你一)失去相当大的性能传输数据和b)捶打硬盘没有什么优势
您可以捕获流多个共享内存区域。这样你可以在其他进程中看到这个内存的内容。
您必须实现某种进程间通信,以便您的其他进程获知应该显示哪个缓冲区。
当你编写你自己的采样卡时,这应该相对容易,甚至可以使用自己的内存分配器。这样,你甚至不会受到一个副本的影响。也许Boost.Interprocess将帮助你实现这个系统,否则请参阅win32中的内存映射函数。
使用VLC通过HTTP进行流式传输。
很难以这种方式生活.. – user198729 2010-08-17 15:51:44