실시간 스트리밍 개요
LiveStreamingAPI를 사용하여 연결된 기기의 카메라 영상을 실시간으로 받을 수 있습니다. 기기는 핫스팟을 통해 RTSP 스트림을 제공하거나 개별 JPEG 프레임을 전송할 수 있으며 두 모드를 모두 지원할 수도 있습니다.
Animated workflow
기기 실시간 스트리밍 수명 주기
기기가 지원하는 전송 방식을 선택하고 기기 세션과 표시 리소스를 함께 관리하며, finish 콜백을 세션의 최종 종료 신호로 처리합니다.
기능 개요
RTSP 라이브 스트리밍
시작 device RTSP 세션, join its 핫스팟, 및 play returned stream
JPEG 이미지 실시간 스트리밍
연결된 기기에서 연속 JPEG 이미지 수신 및 표시
실시간 스트리밍 중지
실행 중인 기기 실시간 스트리밍 세션 중지 및 표시 리소스 해제
AI를 활용해 구현
AI로 구현
AI로 이 워크플로 구현
공식 “AIBuds 라이브 미디어 스트리밍” 스킬을 사용해 앱에 맞게 구현하세요.
https://docs-aibuds.github.io/ko/skills/stream-aibuds-live-media을 읽고 지침을 따르세요. 이 스킬로 “AIBuds 라이브 미디어 스트리밍”을 이 iOS 프로젝트에 구현하고 검증하세요.스트리밍 모드
| 모드 | 지원 속성 | 미디어 전달 | 앱 표시 방법 |
|---|---|---|---|
| RTSP | supportsRTSPLiveStreaming | SDK가 기기 핫스팟 연결을 조율하고 rtsp:// 주소를 반환합니다. | AIBudsLiveStream 또는 호환되는 다른 RTSP 플레이어를 사용합니다. |
| JPEG | supportsJPEGImageLiveStreaming | SDK가 수신한 이미지마다 JPEG 데이터 handler를 호출합니다. | 각 완전한 Data / NSData 값을 디코딩하여 UI를 업데이트합니다. |
프레임워크 역할
AIBuds.xcframework는 기기 연동용LiveStreamingAPI, 지원 속성, 세션 콜백 및RTSPStreamParams연동을 제공합니다.AIBudsFoundation.xcframework는RTSPStreamParams를 정의합니다.AIBudsLiveStream.xcframework는 선택적 RTSP 재생 및 RTSP-to-RTMP relay API를 제공합니다. 기기 스트림을 시작해도 플레이어나 publisher가 자동으로 생성되지는 않습니다.
권장 사항
- 시작하기 전에 선택한 모드의 지원 속성을 확인하세요.
- UI 상태를 개별 중간 콜백과 분리하세요. 세션 수준 상태는 start 및 finish handler에서만 판단합니다.
- UIKit 작업은 메인 큐로 전달하세요.
- 기기 세션을 중지할 때 재생 또는 relay 리소스도 함께 중지하세요.
- 핫스팟 연결 해제와 사용자 요청이 아닌 세션 종료는 정상 중지가 아니라 복구 가능한 오류로 처리하세요.
참고
- 공개 API는 신뢰할 수 있는
isLiveStreaming속성을 제공하지 않습니다. 표시 상태는 앱에서 관리하고 콜백을 통해 동기화하세요. - RTSP는 Wi-Fi 핫스팟을 사용하므로 iPhone의 네트워크 경로가 일시적으로 변경될 수 있습니다.
- JPEG 모드는 디코딩된 동영상 프레임 객체가 아니라 압축된 이미지를 제공합니다.
- Demo의 RTMP 송출은 선택적
AIBudsLiveStream.LiveStreamer흐름이며LiveStreamingAPI자체에서 수행하지 않습니다.