c#工作站客户端的热映像服务器流

时间:2015-02-07 21:36:26

标签: c# tcp camera udp

我是Tommaso,我刚刚报名参加。我想开一个新的讨论,希望它有趣。 我正在使用热像仪(C#,Visual studio 2012,Windows 7 -x64),我已经创建了一个执行以下任务的服务器:

  1. 从相机获取原始帧
  2. 最终轮换
  3. 将原始像素值转换为开尔文
  4. 计算框架中的最小,平均和最大像素
  5. 检查温度警报,报警。
  6. 现在我被要求允许4个工作站查看来自摄像机的实时热帧流。不幸的是,在这个项目中,这些位于距离主服务器很多米(600-700米)的真实广阔区域。帧速率为3,75帧/秒,帧分辨率为640x512像素,像素深度为14位(16),我们说的是每秒2.5Mbyte。没有提供压缩。

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

    这是我的问题:由于单帧的重要性,您是否建议使用可靠且最重的TCP或考虑流量的最简单的UDP?

    对不起我的冗长,但这仅仅是为了解释。 如果您想了解我的项目的更多信息,请询问。

    托马索

1 个答案:

答案 0 :(得分:1)

您想要直播视频。如果一个框架没有到达它的目的地,那就没有问题。因为在250ms之后(我假设您的视频是4 fps),将发送另一帧。由于每个帧都不是病毒,因此最好使用UDP。