Обзор прямой трансляции
Используйте LiveStreamingAPI для получения изображения камеры подключённого устройства в реальном времени. Устройство может отдавать RTSP-поток через свою точку доступа, отдельные JPEG-кадры или поддерживать оба режима.
Animated workflow
Жизненный цикл трансляции устройства
Выберите поддерживаемый транспорт, согласуйте ресурсы устройства и отображения, а finish callback считайте итоговым сигналом сессии.
Возможности
RTSP-трансляция
Запуск RTSP-сеанса устройства, подключение к его точке доступа и воспроизведение потока
JPEG-трансляция изображений
Получение JPEG-изображений и необязательного аудио Opus или декодированного PCM с подключённого устройства
Остановка трансляции
Остановка активного сеанса трансляции устройства и освобождение ресурсов отображения
Реализация с помощью AI
Разработка с AI
Реализуйте этот сценарий с AI
Используйте официальный навык «Потоковая передача с AIBuds» и адаптируйте сценарий к приложению.
Прочитайте и выполните инструкции https://docs-aibuds.github.io/ru/skills/stream-aibuds-live-media. Используйте этот навык, чтобы реализовать «Потоковая передача с AIBuds» в данном iOS-проекте и проверить результат.Режимы трансляции
| Режим | Возможность | Доставка медиа | Отображение в приложении |
|---|---|---|---|
| RTSP | supportsRTSPLiveStreaming | SDK координирует точку доступа устройства и возвращает адрес rtsp://. | Используйте AIBudsLiveStream или другой совместимый RTSP-плеер. |
| JPEG | supportsJPEGImageLiveStreaming | SDK вызывает обработчик JPEG для каждого полученного изображения. | Декодируйте каждое полное значение Data / NSData и обновляйте UI. |
Ответственность фреймворков
AIBuds.xcframeworkпредоставляетLiveStreamingAPI, свойства возможностей, callbacks сессии и интеграциюRTSPStreamParams.AIBudsFoundation.xcframeworkопределяетRTSPStreamParams.AIBudsLiveStream.xcframeworkпредоставляет дополнительные API воспроизведения RTSP, ретрансляции RTSP в RTMP и передачи JPEG/PCM в RTMP. Запуск потока устройства не создаёт плеер или компонент трансляции автоматически.
Рекомендации
- До запуска проверяйте свойство поддержки выбранного режима.
- Отделяйте состояние UI от промежуточных callbacks; состояние сессии определяют только обработчики запуска и завершения.
- Выполняйте работу UIKit в главной очереди.
- Останавливайте ресурсы воспроизведения или ретрансляции вместе с сессией устройства.
- Считайте потерю точки доступа и завершение не пользователем восстанавливаемыми ошибками, а не успешной остановкой.
Примечания
- Публичный API не предоставляет достоверное свойство
isLiveStreaming; храните состояние отображения локально и согласуйте его через callbacks. - RTSP использует Wi-Fi-точку доступа и может временно изменить сетевой маршрут iPhone.
- Режим JPEG выдаёт сжатые изображения, а совместимые потоки level-2 — также аудио Opus и необязательные декодированные PCM-данные.
- Публикация RTMP в Demo — необязательный процесс
AIBudsLiveStream.LiveStreamer. Он может ретранслировать RTSP или принимать JPEG-кадры и PCM-аудио; самLiveStreamingAPIпубликацию не выполняет.