그룹 통화에서 피어 비디오 해상도
애플리케이션은 영상 그룹 통화(컨퍼런스)에서 requestPeerVideo()
를 호출해 특정 피어로부터 비디오 스트림을 요청할 수 있습니다. 이 문서에서는 비디오 스트림을 요청할 때 비디오 해상도를 설정하는 방법을 설명합니다.
지원 통화 유형 | 지원 SDK 버전 |
---|---|
그룹 통화(컨퍼런스) | 모든 버전 |
개요
보통 비디오 스트림 수가 많을수록 CPU와 메모리 사용량이 늘어납니다. 해상도가 높을수록 네트워크 대역폭도 많이 필요합니다. CPU나 메모리, 네트워크를 과하게 사용하면 사용자는 저품질 통화를 경험하게 됩니다. 다시 말해, 부적절한 해상도로 requestPeerVideo()
를 호출하면 비디오 품질뿐 아니라 오디오 품질까지 떨어질 수 있습니다.
적절한 해상도를 결정하는 것은 좀 더 나은 영상 그룹 통화를 구현하는 데 무척 중요합니다. LINE PlanetKit이 권장하는 해상도는 있지만, 애플리케이션이 각자의 요구 사항에 맞게 값을 최적화해야 합니다.
권장 해상도
비디오 스트림 수에 따른 권장 해상도는 다음과 같습니다.
웹용 권장 해상도 | |
---|---|
그리드 뷰1 | 스트림 수가 1-8개일 때: VGA 스트림 수가 9개 이상일 때: QVGA |
포커스 뷰2 | HD 하나, 나머지는 QVGA |
화면 공유3 | 모두 QVGA |
1 그리드 뷰는 타일 형태 뷰의 일종입니다. 각 비디오 스트림이 렌더링하는 모든 창이 같은 크기로 나타납니다.
2 포커스 뷰는 큰 창 하나에 최소 크기의 다른 창들이 나타나는 형태입니다.
3 화면 공유는 화면을 공유하는 중일 때 권장하는 비디오 해상도를 의미합니다.
예제
적절한 비디오 해상도로 requestPeerVideo()
를 호출하는 예제입니다. 여기서는 참여자가 최대 3명일 때는 VGA로 표시하고, 4명 이상일 때는 QVGA로 표시하기로 합니다.
User-01과 User-02가 그룹 통화에 참여해 비디오를 켭니다. 그룹 통화에 참여하는 기본적인 흐름은 그룹 통화 흐름을 참고하세요.
User-03이 참여하면, 모든 참여자가 evtPeerListUpdated
이벤트를 통해 누가 새로 왔는지 알게 됩니다. 또 evtPeersVideoUpdated
이벤트를 통해 비디오를 사용할 수 있는 참여자 목록도 갱신합니다.
이벤트를 보내면서, User-03은 현재 그룹 통화에 자신을 포함해 3명이 있고 비디오 스트림도 3개가 있다는 것을 알게 됩니다. 애플리케이션 설계에 따라, User-03은 VGA 해상도로 두 비디오 스트림을 요청해야 합니다. User-01과 User-02용으로 각각 requestPeerVideo()
를 호출하면 됩니다.
이와 똑같이, User-01과 User-2도 User-03이 비디오를 활성화한 상태로 참여했다는 것을 알게 됩니다. 위 다이어그램에서 보는 것처럼 User-01과 User-02가 User-03의 비디오를 VGA로 표시하기 위해 requestPeerVideo()
를 호출합니다.
잠시 후, User-04가 참여합니다. User-03은 그룹 통화 참여자 수가 늘어났음을 알았으니 QVGA로 표시하도록 해야 합니다. 따라서 User-03은 User-01과 User-02의 해상도를 QVGA로 바꾸도록 updatePeerVideo()
를 호출합니다. 그런 다음 User-04의 QVGA 해상도 비디오를 요청하기 위해 requestPeerVideo()
를 호출합니다.
관련 API
그룹 통화에서 피어 비디오 해상도 설정과 관련된 API는 다음과 같습니다.