Notice
Recent Posts
Recent Comments
Link
투케이2K
58. (Aws/Amazon) [Aws Kinesis Video Streams] Aws Kvs WebRTC 실시간 영상 재생 관련 구성 요소 및 용어 정리 본문
Aws (Amazon)
58. (Aws/Amazon) [Aws Kinesis Video Streams] Aws Kvs WebRTC 실시간 영상 재생 관련 구성 요소 및 용어 정리
투케이2K 2025. 5. 7. 20:09[개발 환경 설정]
개발 환경 : Aws / Amazon Web Services

[설명 정리]
// --------------------------------------------------------------------------------------
[개발 및 환경]
// --------------------------------------------------------------------------------------
- 인프라 : Aws / Amazon Web Services
- 기술 구분 : Aws / Kinesis Video Streams / KVS / WebRTC
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[설 명]
// --------------------------------------------------------------------------------------
1. WebRTC 설명 :
>> WebRTC 란 실시간 라이브 비디오를 웹 브라우저 및 모바일, 연결된 디바이스 간에 실시간 통신을 가능하게 하는 API 입니다
>> WebRTC 는 연결된 피어간 지연시간이 짧은 미디어 스트리밍을 제공합니다
2. WebRTC 기술 :
>> P2P 연결을 설정하기 위해 상호연결설정(ICE), TURN, STUN을 비롯한 IETF 프로토콜을 포함합니다
- P2P 연결은 인터넷을 사용중인 다수의 사용자들이 서버를 거치지 않고 직접 데이터를 전송할 수 있도록 하는 연결 방식을 의미합니다
>> WebRTC [ICE] 연결 형태 :
- Relayed Address : TURN 서버가 패킷 릴레이를 위해 할당하는 주소
- Server Reflexive Address : NAT 가 매핑한 클라이언트의 공인망 (Public IP, Port)
- Local Address : 클라이언트의 사설주소 (Private IP, Port)
>> WebRTC 통신은 표준화된 암호화 프로토콜을 통해 안전하게 암호화됩니다
3. WebRTC 구성 요소 및 용어 정리 :
>> 네트워크 주소 변환 (NAT) : 비공개 IP 주소를 공개 IP 주소에 매핑하거나 가장 일반적으로는 여러 비공개 IP 주소를 하나의 공개 IP 주소에 매핑하는 기술입니다
- IP 주소는 장치 간 연결을 설정하는 데 필수적입니다
>> Signaling Channel (신호 채널) : 애플리케이션이 신호 메시지를 교환하여 P2P 연결을 검색, 설정 제어 및 종료할 수 있도록하는 리소스입니다
>> Peer : 웹캠, 모바일 등 Kinesis Video Strams WebRTC 를 사용해서 실시간 양방향 스트리밍을 위해 구성된 모든 디바이스입니다
>> Master : 신호 채널에 연결을 시작하고 신호 채널에 연결된 Viewer (뷰어) 와 미디어를 검색하고 교환할 수 있는 Peer 입니다
- 신호 채널에는 최대 1개의 Master 만 연결 가능합니다
>> Viewer : 신호 채널에서 Master 의 미디어를 검색하고 교환할 수 있는 Peer 입니다
- 제공되는 신호 채널을 통해 다른 시청자를 발견하거나 상호 작용은 할 수 없으며, 채널 당 최대 10개의 Viewer 만 연결 가능합니다
>> SDP : 데이터가 전송되면 두 Peer 가 서로 이해할 수 있도록 해상도, 포트, 코덱, 암호화 등과 같은 스트리밍 정보를 담은 멀티미디어 콘텐츠 설명 텍스트 포맷입니다
>> Offer / Answer : 통신 연결을 협상하기 위한 SDP 메시지입니다 (초기 연결 설정)
- SDP Offer : 세션을 생성하거나 수정하기 위해 세션 설명을 생성하는 에이저트가 보낸 SDP 메시지입니다
- SDP Answer : 제안자로부터 받은 제안에 대한 응답으로 응답자가 보낸 SDP 메시지입니다
>> ICE : NAT/P2P 환경에서도 연결 가능한 경로 (IP, 포트 등) 를 찾기 위한 기술로 Peer 와 통신에 사용할 수 있는 방법입니다
>> ICE candidate : 연결 가능한 (IP + Port 조합) 경로로 Peer 가 통신에 사용할 수 있는 방법입니다
>> TUN (Traversal Using Relay around NAT) : 주변의 릴레이를 사용한 순회를 의미하며, 서버를 통해 모든 정보를 중계하여 대칭 NAT 제한을 우회하는데 사용되는 방식입니다
- (릴레이서버 사용) TURN 서버는 Relayed Address와 Server Reflexive Address 를 모두 응답합니다
- STUN, TURN 서버를 이용해 SDP Answer IP주소 를 취득 후 RTCPeerConnection Remote 연결을 수행합니다
- 대칭 NAT 는 동일한 내부 IP 주소 및 포트에서 특정 목적지 IP 주소 및 포트로의 모든 요청이 동일한 외부 IP 주소 및 포트에 매핑되는 대칭 NAT입니다
>> STUN (Session Traversal Utilities for NAT) : 두 장치가 서로의 공용 IP 주소를 검색하고 직접 연결을 시작할 수 있는 방식입니다
- (같은 와이파이 망) STUN 서버는 HOST 를 거쳐 >> Server Reflexive Address 만을 응답합니다
- STUN, TURN 서버를 이용해 SDP Answer IP주소 를 취득 후 RTCPeerConnection Remote 연결을 수행합니다
4. WebRTC 주요 사용 포트 :
>> RTP(실시간 전송 프로토콜) : 5004 포트를 사용합니다
>> Signaling 단계 : 80 / 443 (WebSockets : TCP 접속에 통신 채널을 제공하는 통신 프로토콜) 포트를 사용해서 신호를 보냅니다
>> Discovery 단계 : 3478 포트를 사용해서 서버와 통신합니다
>> P2P 연결 : 0 – 65535 범위에서 임의 포트를 사용해서 연결합니다
5. WebRTC SDP 오퍼 생성 및 응답 , 스트리밍 플로우 :
>> [Viewer] -- Signaling Server -- SDP Offer --> [Master]
>> [Master] -- SDP Answer --> [Viewer]
>> [Viewer] -- ICE Candidate --> [Master]
>> [Master] -- ICE Candidate --> [Viewer]
>> P2P 연결 성립 → 스트리밍 시작
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------
[Aws Kvs WebRTC 실시간 영상 재생 관련 학습 정리]
https://blog.naver.com/kkh0977/223855985471
[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/
// --------------------------------------------------------------------------------------
반응형
'Aws (Amazon)' 카테고리의 다른 글
Comments