我已經成功地用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