Notice
Recent Posts
Recent Comments
Link
투케이2K
175. (Aws/Amazon) [Aws Kinesis Video Streams] WebRTC 뷰어 영상 재생 중 네트워크 환경 (Wifi To LTE) 변경 시 종료 상태 정리 본문
Aws (Amazon)
175. (Aws/Amazon) [Aws Kinesis Video Streams] WebRTC 뷰어 영상 재생 중 네트워크 환경 (Wifi To LTE) 변경 시 종료 상태 정리
투케이2K 2026. 1. 22. 19:33728x90
[개발 환경 설정]
개발 환경 : Aws / Amazon Web Services

[설명 정리]
// --------------------------------------------------------------------------------------
[개발 및 환경]
// --------------------------------------------------------------------------------------
- 인프라 : Aws / Amazon Web Services
- 기술 구분 : Aws / Aws Kinesis Video Streams / KVS / WebRTC
- 사전) WebRTC 설명 :
>> WebRTC 란 웹, 애플리케이션, 디바이스 간 중간자 없이 오디오나 영상 미디어를 포착하고 실시간 스트림할 뿐 아니라, 임의의 데이터도 교환할 수 있도록 하는 기술입니다
>> WebRTC 는 간단한 API 를 통해 웹 브라우저, 모바일 애플리케이션 및 커넥티드 디바이스 간에 실시간 통신을 활성화할 수 있습니다
>> WebRTC 주요 용어 :
- SDP (Session Description Protocol) : 오디오/비디오 코덱, 해상도, 포트 등 스트리밍 정보를 담은 텍스트 포맷
- Offer / Answer : 통신 연결을 협상하기 위한 SDP 메시지 (초기 연결 설정)
- ICE (Interactive Connectivity Establishment) : NAT/P2P 환경에서도 연결 가능한 경로(IP, 포트 등)를 찾기 위한 기술
- Candidate : 가능한 연결 경로 (IP + Port 조합)
>> WebRTC SDP 오퍼 생성 (뷰어) 및 응답 (마스터) 스트리밍 플로우 :
[Viewer → Signaling Server] -- SDP Offer --> [Master] : 뷰어는 마스터로 스트리밍 오퍼 신호 보낸다
[Master] -- SDP Answer --> [Viewer] : 마스터는 특정 뷰어의 오퍼 신호 확인 후 응답을 보낸다
[Viewer] -- ICE Candidate --> [Master] : 스트리밍을 할 수 있는 경로 확인
[Master] -- ICE Candidate --> [Viewer] : 스트리밍을 할 수 있는 경로 확인
P2P 연결 성립 → 스트리밍 시작
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[설 명]
// --------------------------------------------------------------------------------------
1. ✅ 사전) 휴대폰 환경에서 네트워크 환경이 변경 되는 상황 정리 :
>> WIFI 가 연결 된 상태에서 WebRTC 뷰어 연결 수행
>> 정상적으로 WebRTC 연결 완료 후 영상이 출력되는 것 확인
>> 휴대폰 상단 메뉴 스크롤을 내려 와이파이 기능 비활성 수행
>> 시청 중이던 영상이 일시 중지 되는 것 확인
2. 일반적) WebRTC 연결 끊김이 생길 때 마스터에서 보이는 상태 정리 :
>> WebRTC 피어 연결이 끊기면 브라우저의 RTCPeerConnection 상태는 다음 흐름으로 변화합니다.
>> connected → disconnected → failed or closed
3. ✅ 네트워크 전환 시) 뷰어 영상 중지 및 마스터에서 보이는 상태 정리 :
>> 대부분의 경우 : 마스터는 "뷰어가 잠시 끊김(disconnected)" 으로만 감지
- 즉 뷰어가 완전히 종료된 것으로 판단하지 않고, 단순한 네트워크 재협상(ICE 재시작) 과정이 필요하다고 판단
>> 네트워크 전환(Wi‑Fi → LTE) 직후 마스터의 ICE 상태 정리 :
- iceConnectionState = "disconnected" : 잠시 연결이 불안정해진 상태
- 이후 뷰어가 ICE restart 를 하면 다시 : "checking" → "connected" 로 회복 가능
4. ✅ 네트워크 전환 시) 뷰어가 ICE 재시작하지 않는 경우 마스터에서 보이는 상태 정리 :
>> 마스터는 일정 시간이 지나 iceConnectionState = "failed" 또는 "closed" 상태로 넘어가며, 이때 비로소 뷰어가 끊긴 것처럼 인식하게 됩니다.
>> 👉 이때도 마스터는 "뷰어가 앱을 닫았다"는 이벤트를 스스로 알 수는 없으며, 단지 WebRTC 연결이 성립할 수 없어서 실패 상태로 간 것으로 판단
5. 표 정리) 네트워크 환경 변경 시 마스터의 뷰어 상태 판정
----------------------------------------------------------------------------------------
상황 | ICE | 상태마스터에서 뷰어는?
----------------------------------------------------------------------------------------
잠깐 끊김(네트워크 전환) | disconnected | ❌ close 아님 — 잠시 끊김
----------------------------------------------------------------------------------------
뷰어가 ICE restart 시도 | checking → connected | ⭕ 정상 복귀
----------------------------------------------------------------------------------------
뷰어가 아무 처리 안 함 | disconnected → failed | ⭕ close 비슷한 상태이지만 뷰어가 앱 종료했는지 여부는 모름
----------------------------------------------------------------------------------------
뷰어가 브라우저 탭 닫음 | closed | ⭕ close 로 확실하게 알 수 있음
----------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------
[Aws Kinesis Video Streams] WebRTC SDP 협상 과정 프로세스 정리 정리
https://blog.naver.com/kkh0977/224030054470
[자바스크립트 AWS WebRTC 실시간 동영상 재생 수행]
https://blog.naver.com/kkh0977/223170500993?trackingCode=blog_bloghome_searchlist
[Aws Kvs WebRTC 실시간 영상 재생 관련 구성 요소 및 용어 정리]
https://blog.naver.com/kkh0977/223858189791
[업무 이슈] AWS WebRTC 실시간 비디오 재생 시 Client 클라이언트 연결 접속 및 해제 상태 확인 이슈
https://blog.naver.com/kkh0977/223966952222
[업무 이슈] 안드로이드 웹뷰에서 AWS WebRTC 웹 뷰어 영상 재생 중 앱 화면 종료 시 마스터에서 뷰어 close 상태가 늦게 감지 되는 이슈
https://blog.naver.com/kkh0977/224020488268
[Aws] WebRTC Viewer 뷰어 기기에서 실시간 디바이스 기기 해상도 확인 로직
https://blog.naver.com/kkh0977/224024795533
[업무 이슈] AWS WebRTC 마스터 SDK 초기화 시 STS 임시 자격 증명 UserId 값에 특수 문자 포함으로 인증 에러 발생 이슈
https://kkh0977.tistory.com/8565
https://blog.naver.com/kkh0977/224145469350
[업무 이슈] AWS WebRTC 마스터 GetIceServerConfig ICE 서버 사용 유효 기간 만료 TURN 릴레이 서버 연결 불가능 이슈
https://kkh0977.tistory.com/8564
[업무 이슈] AWS WebRTC 뷰어에서 동일한 clientId 사용해 스트리밍 시청 시 AWS 세션 초기화 이슈로 60 초내외 재사용 필요 이슈
https://kkh0977.tistory.com/8442
https://blog.naver.com/kkh0977/224094606649
// --------------------------------------------------------------------------------------
728x90
반응형
'Aws (Amazon)' 카테고리의 다른 글
Comments
