2010-12-11 615 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。