2015-02-07 65 views
1

我是Tommaso,我刚刚注册了。我想打开一个新的讨论,希望它可能会有趣。 我与热像仪的工作(C#,Visual Studio的2012,Windows 7的-x64),我已经创建执行以下任务的服务器:工作站客户端的c#热图像服务器流

  1. 从摄像机获取原始帧
  2. 最终旋转
  3. 将原始像素值转换为开尔文
  4. 计算帧中的最小,平均值和最大像素数
  5. 检查温度警报,报警。

现在我被要求允许4个工作站看到来自摄像机的实时热帧流。不幸的是,在这个项目中,它们位于离主服务器很多米(600-700米)的广阔区域。在3,75帧/秒,640×512像素的帧分辨率和14位(16)的像素深度时,我们正在谈论每秒2.5兆字节。没有提供压缩。

所以我决定使用帧到达服务器创建一个套接字来监听1或4个工作站需要的流。因此,每次客户端连接时,我都会创建一个专用队列,其中主线程将帧排入队列中,并且套接字线程出队并将其发送到连接的客户端。

这里是我的问题:由于单个帧的重要性,你建议使用可靠和最重的TCP或考虑流动量最简单的UDP?

对不起,我只是为了解释。 如果你想了解更多关于我的项目,请询问。

Tommaso

+0

需要考虑的一件事是您用于网络的硬件。在过去的一些旧路由器和接入点上,我遇到了UDP问题。如果你有直接的联系,这不是一个问题,但如果你是联网的话,它可能是。 – 2015-02-07 22:11:31

+0

谢谢你们。硬件是好的和专用的,所以穆斯塔法说我可能会使用Udp环境。 – riccio 2015-02-08 09:42:33

回答

1

您想要流式传输视频。如果一帧没有到达目的地,那就没有问题了。因为在250ms后(我假设你的视频是4 fps),将会发送另一帧。由于每个帧都不是病毒,所以最好使用UDP。