У меня есть программа, использующая gamekit/bluetooth для передачи видео низкого качества с использованием сжатых jpegs с одного устройства iOS на другое. Я уже понимаю, что для этой цели не нужно использовать gamekit/bluetooth (для небольших фрагментов данных), но он действительно хорошо работает, транслируя 15 сжатых jpegs/second с низким качеством без малейшей задержки.iOS gamekit/bluetooth data streaming
Вопрос, который у меня есть, заключается в том, что я увеличиваю либо качество, либо частоту кадров от отправителя устройства iOS до приемника iOS, произойдет задержка или задержка и больше не будет в режиме реального времени. Если есть задержка, я хотел бы как-то заставить отправившее устройство iOS отбрасывать фреймы, чтобы получатель мог улавливать или для получателя игнорировать очередь.
В GameKit Я установил режим сеанса для использования GKSendDataUnreliable, чтобы узнать, может ли он помочь, но безрезультатно.
Если возникают задержки, какое наилучшее решение и правильный подход отбрасывать фреймы (jpegs), чтобы приемник iOS мог снова вернуться к реальному времени? Будет ли отправитель должен прекратить передачу в течение определенного периода времени или есть что-то, что получающий клиент может сделать, чтобы отменить накопительную очередь.
Я также использовал NSStream и, используя Wi-Fi, обеспечивает большую пропускную способность, та же проблема будет по-прежнему возникать в терминах задержек, если передается слишком много данных.
Заранее благодарю вас за помощь.
Это может помочь увидеть некоторый код для очереди кадров и т. Д. Возможно, вы правы в том, что вам нужно либо остановить передачу, либо сбросить кадры в очереди. –