我想知道是否可以创建一个可以连接两个用户然后将他们的网络摄像头流发送给彼此的客户端(或网络客户端)。 这应该在不使用 Red5 或任何其他闪存/媒体服务器的情况下发生。 我可以使用什么协议(protocol)?什么api等等...
最佳答案
super 简单的方法,看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 的代码要多一些,但更可靠。 Google 两者以获取更多信息。
从那里开始就相当简单了。您从网络摄像头获取数据。将其作为 .jpg 保存到 MemoryStream (System.IO)。然后通过 TCP 或 UDP 发送该数据。
关于c# - 网络摄像头点对点流式传输,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2142600/