1

对于 512×512 字节帧,需要通过 USB 以每秒至少 15 帧的速度将实时视频从 Windows-7 发送到 iPad。

但 USB 只能看到 < 1 帧每秒(WIFI 只能看到 4-6 fps)。循环是 iPad 应用程序使用 NetworkComms.SendReceiveObject() 来请求帧,而 Windows 应用程序使用 NetworkComms.SendObject() 来发送帧回复。

NetworkComms 是否可以将 512 x 512 字节的帧连续从 Windows 流式传输到 iPad,而不需要对每个帧进行请求?

如果发送 100×100 字节帧,USB 3.6 fps 和 WIFI 30 fps。但在所需的帧大小 512 x 512 下,USB 为 < 1fps,而 WIFI 为 ~6fps。

奇怪的是WIFI速度更快。

Windows 应用程序是带有 NetworkComms.net 的 Visual Studio 2010 C#。iPad 应用程序是带有 NetworkComms.net 的 Xamarin Monotouch C#。

4

1 回答 1

1

使用UDP 广播解决方案进行连续、异步、单向流式传输,网址为:http: //www.networkcomms.net/udp-broadcasting/

或者,更好的是,使用他们的 TCP 方法,该方法支持压缩以获得更快的速度。下载他们出色的示例并在 AdvancedSend.cs 文件中找到示例代码。

警告:如果从 Visual Studio 运行,运行速度会非常慢。当我运行 C# .exe 时,我通过 USB 获得了从 Windows-7 到 iPad 的 44Mbps 吞吐量(对于 iPad 硬件来说是 USB2.0)。

这是我的代码: // VISUAL STUDIO 2010 C# 流传输到 IPAD:

for (; ; ) // 线程的 exec 循环 { NetworkComms.SendObject("超声波流", Ultrasound_stream_sourceId, false, frame_to_iPad); }

// 来自 Windows 的 IPAD 流媒体接收器:

NetworkCommsDotNet.NetworkComms.AppendIncomingPacketHandler("Ultrasound Stream", (packetHeader, connection,incoming_bytes) => { // 你处理incoming_bytes的代码放在这里。}, false);

于 2013-08-14T13:08:16.150 回答