我编写了一个程序,使用 gamekit/bluetooth 将使用压缩 jpeg 的低质量视频从一个 iOS 设备传输到另一个。我已经意识到 gamekit/蓝牙不应该用于这个目的(对于小块数据),但它确实可以很好地流式传输 15 个低质量压缩 jpegs/秒,几乎没有延迟。
我的问题是,一旦我提高了从 iOS 设备发送器到 iOS 接收器的质量或帧速率,就会出现延迟或延迟,并且不再是实时的。如果有延迟,我希望发送 iOS 设备以某种方式丢弃帧,以便接收器可以赶上或让接收器忽略积压队列。
在 GameKit 中,我将会话模式设置为使用 GKSendDataUnreliable 来查看它是否有帮助,但无济于事。
如果发生延迟,丢弃帧(jpegs)以便 iOS 接收器可以赶上实时的最佳解决方案和正确方法是什么?发送方是否需要停止传输一段时间,或者接收客户端可以做些什么来丢弃累积队列。
我之前也使用过 NSStream,虽然使用 wifi 可以提供更大的带宽,但如果传输的数据过多,仍然会出现同样的延迟问题。
预先感谢您的帮助。