我在想,如果它的不可能性,以創建一個客戶端(或web客戶端),可以連接兩個用戶,然後將它發送自己的網絡攝像頭流給對方。 沒有使用Red5或任何其他閃存/媒體服務器,應該會發生這種情況。 我可以使用什麼協議?什麼API等等網絡攝像頭流對等網絡
回答
作爲一個超級簡單的方法,看看UDP教程:
http://msdn.microsoft.com/en-us/library/system.net.sockets.udpclient.aspx
如果UDP最終是有點太不可靠的(它不保證數據將到達它那裏被髮送),你也可以嘗試TCP連接。
然而,你會打的最大問題之一是試圖通過NAT來獲得。除非先建立連接,否則大多數防火牆都會阻止傳入的數據。您可以使用UPnP來解決這個問題,但它可能會採取一些代碼:
http://www.codeproject.com/KB/IP/upnpnattraversal.aspx
希望這有助於。使用UDP,你只需要看10行代碼來發送和接收數據,而TCP多一點,但更可靠。谷歌這兩個更多的信息。
從那裏它相當簡單。你從網絡攝像頭獲取數據。將它作爲.jpg保存到MemoryStream(System.IO)。然後通過TCP或UDP發送數據。
你可能會希望直接使用TCP或UDP,併發送/收到的原始字節。任何更高級別的協議根本是不必要的開銷
關於NAT的其他答案的一些觀點值得一讀 - 至少有一個客戶端需要打開一個可靠的端口,其他端口可以連接到一個已知的地址/號碼。 – Peter 2010-01-27 23:43:36
我有一點補充,爲了得到兩個客戶端,無論它們各自背後的防火牆來相互交談使用UDP,你需要做的NAT穿越。這就是Skype的工作原理。
Adobe狀態會讓你做到這一點。
- 1. 網絡攝像頭,Java,流媒體。
- 2. 網絡攝像頭流和OpenCV - 蟒蛇
- 3. iPhone網絡攝像頭Feed
- 4. 網絡攝像頭校準
- 5. 網絡攝像頭捕捉
- 6. Aforge爲網絡攝像頭
- 7. 在網站集成網絡攝像頭
- 8. 網絡攝像頭問題與jQuery網絡攝像頭在Internet Explorer中
- 9. AS3多個網絡攝像頭不顯示第3個網絡攝像頭
- 10. 定期拍攝照片,同時使用網絡攝像頭流式傳輸網絡攝像頭
- 11. 用於網站實現的網絡攝像頭圖像流
- 12. 從網絡攝像頭捕捉圖像
- 13. 從網絡攝像頭圖像保存
- 14. 從網絡攝像頭捕獲圖像
- 15. 從網絡攝像頭捕捉圖像
- 16. 捕獲網絡攝像頭流,並通過網絡使用DirectShow.net發送
- 17. 網絡攝像頭捕捉網絡應用程序
- 18. 通用網絡攝像頭校準
- 19. Actionscript中的多個網絡攝像頭
- 20. 高效的網絡攝像頭庫
- 21. Android模擬器+網絡攝像頭
- 22. Nodejs Stream用戶的網絡攝像頭
- 23. C#控制網絡攝像頭#
- 24. 網絡攝像頭通過AVG殺毒
- 25. 德爾菲+網絡攝像頭
- 26. 網絡攝像頭分辨率問題
- 27. 用網絡攝像頭識別照片
- 28. 網絡攝像頭getUserMedia API - AngularJS錯誤?
- 29. JavaApplet中的網絡攝像頭
- 30. 訪問網絡攝像頭使用vb.net
我實際上在這裏工作了一段時間與我的高級設計。我沒有遇到一個好的解決方案。我最終做的是用DirectShow從網絡攝像頭中提取數據,並使用我創建的簡單UDP協議(有點像RTP)發送數據。 – Will 2010-01-26 21:06:11