我正在尝试从客户端向另一个客户端发送实时视频馈送,反之亦然。我正在使用TCP套接字。因此,AForge.NET可以帮助您从网络摄像头实际获取视频,并将其显示为PictureBox中的一组图像。 AForge.NET正如预期那样工作;它只是快速获取图像到另一个客户端,这是问题。我已经尝试了很多解决这个问题的方法。使用AForge.NET和Windows Forms流式传输实时视频的方法有哪些?
其中之一是首先将整个网络中的字节数作为Int发送,然后通过图像(帧)发送到客户端。不过,由于某些原因,在如此多的帧(它每次变化)之后,它会收到一个不是要发送的字节的有效表示。我正在使用异步回调,因此可能会有一些延迟,或者它发送得太快。
然后我尝试的另一个解决方案是将收到的字节设置为可以通过TCP/IP发送的最大数量,然后用空格或其他填充字符填充空字节。然后检查它有多大,你可以直接从字节数组中检索(从头开始),找到第一个非空格字符或特别包含的字符,以字节表示帧的结尾。这会更具活力,因为每次都不需要大小,但由于恒定的大小非常大,效率下降了。有些问题需要特殊字节才能起作用。由于它是一个64位应用程序,因此单个字符为2个字节。所以我将该字符添加到框架(最后)以表示框架停止的位置。但是当我跑过去时它无法检测到它。所以也许我在使用字节时犯了一个错误,但是我觉得这个应该可以工作。
基本上,我想知道,使用AForge.NET,如何获取视频图像,使用TCP套接字通过网络将实况视频从一个应用程序流式传输到下一个应用程序。