2010-12-11 620 views
3

問候語, 要做什麼是最佳做法使用C#在兩個客戶端之間進行視頻流式傳輸。使用C#進行視頻流式傳輸的最佳實踐

第一個客戶端將有一個Windows應用程序,允許瀏覽第二臺客戶端PC並選擇一個視頻文件在第一臺客戶端PC中通過IP地址播放它。

謝謝

回答

3

你應該去爲TCP/IP作爲傳輸層,比HTTP快,更適合這樣的大型二進制數據。我也會使用WCF(Windows Communication Foundation),這使得流媒體非常容易。如果你從未使用過WCF,你可以在幾個小時內開始流式傳輸。

這裏是一個鏈接約streaming and WCF.

3

你應該看看Silverlight的smooth streaming

+0

夥計。這很酷。 – mpen 2010-12-11 07:33:12

+0

爲了實現使用Silverlight進行流暢的流媒體傳輸,您需要一個IIS媒體服務,並且我希望直接從客戶端PC傳輸視頻,而不需要中間件。 – Eyla 2010-12-11 13:31:08

3

對於視頻流,您應該使用UDP協議。

對於像視頻流這樣的實時連接來說,使用UDP更爲高效,因爲丟棄的數據包會很快被新數據包所取代。如果您對數據包進行某種排序,則可以在接收端正確地重新組合它們。

您可以使用System.Net.Sockets.UdpClient創建UDP套接字。或者,如果您願意,請使用System.Net.Sockets.Socket類直接訪問Winsock32 API。