gpt4 book ai didi

iOS gamekit/蓝牙数据流

转载 作者:可可西里 更新时间:2023-11-01 06:10:20 27 4
gpt4 key购买 nike

我编写了一个程序,使用 gamekit/蓝牙将使用压缩的 jpeg 的低质量视频从一台 iOS 设备传输到另一台。我确实已经意识到 gamekit/bluetooth 不应该用于此目的(对于小块数据),但它确实可以很好地流式传输 15 个低质量压缩 jpeg/秒,几乎没有延迟。

我的问题是,一旦我提高了从 iOS 设备发送器到 iOS 接收器的质量或帧速率,就会出现滞后或延迟,并且不再是实时的。如果有延迟,我希望发送 iOS 设备以某种方式丢弃帧,以便接收方可以 catch 或让接收方忽略积压队列。

在 GameKit 中,我已将 session 模式设置为使用 GKSendDataUnreliable 以查看它是否有帮助,但无济于事。

如果发生延迟,丢弃帧 (jpeg) 的最佳解决方案和正确方法是什么,以便 iOS 接收器可以 catch 实时?发件人是否需要停止传输一段时间,或者接收客户端是否可以做些什么来丢弃累积队列。

我之前也用过 NSStream,虽然使用 wifi 允许更大的带宽,但如果传输太多数据,同样的问题仍然会在延迟方面出现。

预先感谢您的帮助。

最佳答案

你能不能给每个 jpg 附加一个时间戳(也许是自纪元以来的时间),这样接收客户端将忽略所有不在给定时间范围内的图像。

您还可以让接收客户端使用简单的确认数据包进行响应,表明已收到 jpg。如果发送客户端在给定时间范围内未收到确认数据包,它将丢弃所有要发送的图像并从头开始。

使用此解决方案,如果接收客户端落后于发送方 X 秒,它将停止发送确认数据包并丢弃所有传入数据,直到发送方丢弃其队列中的所有内容并再次开始发送“实时”帧。

关于iOS gamekit/蓝牙数据流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17964720/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com