Notice
Recent Posts
Recent Comments
Link
투케이2K
142. (TWOK/STUDY) [투케이 학습] : Aws Kvs WebRTC 실시간 영상 재생 관련 학습 정리 본문
728x90
[제 목]
[투케이 학습] : Aws Kvs WebRTC 실시간 영상 재생 관련 학습 정리
[설 명]
-----------------------------------------------------------------------------------------
[구 분]
-----------------------------------------------------------------------------------------
구 분 : 투케이 학습 정리
제 목 : Aws Kvs WebRTC 실시간 영상 재생 관련 학습 정리
-----------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------
[설 명]
-----------------------------------------------------------------------------------------
/**
* // -----------------------------------------------------------------
* // TODO >>>>>>>>>>>>>>>>>>>>> [AWS KVS WebRTC 실시간 영상 출력 관련] >>>>>>>>>>>>>>>>>>>>>
* // -----------------------------------------------------------------
*
* TODO 설 명 :
* - WebRTC 사양에는 피어투피어 연결을 설정하기 위해 상호연결설정 (ICE RFC5245),
* Traversal Using Relay around NAT (TURN RFC5766) 및
* Session Traversal Utilities for NAT (STUN RFC5389) 을
* 비롯한 일련의 IETF 프로토콜을 포함합니다
*
* TODO WebRTC [ICE] 연결 형태 :
* - Relayed Address : TURN 서버가 패킷 릴레이를 위해 할당하는 주소
* - Server Reflexive Address : NAT 가 매핑한 클라이언트의 공인망(Public IP, Port)
* - Local Address : 클라이언트의 사설주소(Private IP, Port)
*
* TODO STUN 및 TURN 서버 설명 :
* - (같은 와이파이 망) STUN 서버는 HOST 를 거쳐 >> Server Reflexive Address 만을 응답하지만,
* (릴레이서버 사용) TURN 서버는 Relayed Address와 Server Reflexive Address 를 모두 응답한다
* - STUN, TURN 서버를 이용해 SDP Answer IP주소 를 취득 >> RTCPeerConnection Remote 연결 수행
*
* TODO WebRTC 용어 정리 :
* - SDP (Session Description Protocol) : 오디오/비디오 코덱, 해상도, 포트 등 스트리밍 정보를 담은 텍스트 포맷
* - Offer / Answer : 통신 연결을 협상하기 위한 SDP 메시지 (초기 연결 설정)
* - ICE (Interactive Connectivity Establishment) : NAT/P2P 환경에서도 연결 가능한 경로(IP, 포트 등)를 찾기 위한 기술
* - Candidate : 가능한 연결 경로 (IP + Port 조합)
*
* TODO 디바이스 로직 정리 :
* - AWS IAM 계정에 할당 된 AccessKey 와 SecretKey 사용해 실시간 신호 채널 생성 수행 - 실시간 신호 채널 ARN 확인
* - 생성 된 신호 채널 명칭을 사용해 Signaling Client 초기화 및 연결 수행 (streamName , credentialsProvider 필요, Master 역할로 초기화)
* - WebRTC PeerConnection 설정 및 연결 수행 (iceServers 지정 필요 - 영상 재생 주소)
* - Camera 캡처 및 MediaStream 연결 수행
* (mediaStream 에 카메라 리소스 스트림 추가)
* (PeerConnection 에 mediaStream 전송)
* - 시그널링 및 SDP 교환 수행 및 실시간 영상 재생 확인
* (Master → Viewer 연결)
* (시청자 (Viewer) 측에서는 role을 "viewer"로 설정 필요)
*
* - Offer / Answer 흐름 단계별 설명 (Master 기준)
* >> Viewer 가 SDP Offer 전송 (자동) [Viewer (웹 브라우저 등) 가 AWS Signaling Server 에 연결하고 Offer 전송 / Android (Master) 는 Signaling SDK 의 onSdpOffer() 콜백에서 이를 수신]
* >> Master 가 SDP Answer 생성 및 전송 [받은 Offer 에 대해 Answer 를 생성하고, 다시 signaling 서버를 통해 Viewer 에 전송]
*
* TODO SDP 오퍼 생성 및 응답 , 스트리밍 플로우
*
* [Viewer → Signaling Server] -- SDP Offer --> [Master]
* [Master] -- SDP Answer --> [Viewer]
*
* [Viewer] -- ICE Candidate --> [Master]
* [Master] -- ICE Candidate --> [Viewer]
*
* → P2P 연결 성립 → 스트리밍 시작
*
* // -----------------------------------------------------------------
*/
-----------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------
[참고 사이트]
-----------------------------------------------------------------------------------------
[Aws KVS 라이브러리 설치 버전 참고 사이트]
https://mvnrepository.com/artifact/com.amazonaws/aws-android-sdk-kinesisvideo
[kvs (Kinesis Video Streams) , HLS (HTTP 라이브 스트리밍) 설명 및 정리]
https://blog.naver.com/kkh0977/223724719256?trackingCode=blog_bloghome_searchlist
[Kvs 실시간 영상 재생 관련 STUN , TUN 서버 연결 이슈]
https://blog.naver.com/kkh0977/223162726931?trackingCode=blog_bloghome_searchlist
[자바스크립트 AWS WebRTC 실시간 동영상 재생 수행 - KVS Stream Video]
https://blog.naver.com/kkh0977/223170500993?trackingCode=blog_bloghome_searchlist
[AWS 사이트 주요 질문 정리 사이트]
https://aws.amazon.com/ko/kinesis/video-streams/faqs/
-----------------------------------------------------------------------------------------
728x90
반응형
'투케이2K 학습정리' 카테고리의 다른 글
Comments