Zoom 비디오 SDK 성능 보고서

Zoom 비디오 SDK의 비교 분석

Zoom 비디오 SDK 성능 보고서

개요

소프트웨어 품질 보증 및 맞춤형 테스트 도구 개발 제공업체인 TestDevLab은 Zoom 비디오 SDK와 다른 비디오 SDK 벤더 네 곳(Agora, Vonage TokBox, Chime, Twilio)에 대한 분석을 실시했습니다. 목표는 각 플랫폼의 동작과 각 비디오 SDK의 결과적인 품질을 파악하는 것이었습니다. 이 분석은 Zoom Video Communications, Inc.에 의해 의뢰되었습니다. 이 보고서에 제공된 조사 결과는 2022년 5월 12일의 TestDevLab 테스트 결과를 반영합니다.

이 보고서는 먼저 비디오 SDK 품질 평가 시 고려 사항에 대해 설명합니다. 그 다음 성능 품질, 대역폭의 지속력, 25% 패킷 손실 상황에서 CPU(중앙 처리 장치) 및 RAM(Random Access Memory) 사용량을 낮게 유지하는 것에 대해 구체적으로 살펴보며 테스트 결과에 대한 분석을 제시합니다. 테스트 환경에 대한 자세한 내용은 부록에 설명되어 있습니다.

Zoom은 사용하기 쉽고, 경량이며, 고도로 사용자 지정 가능하도록 설계된 비디오 SDK의 전반적인 품질에 많은 노력을 기울였습니다. 열악한 네트워크 시나리오, 모바일 사용 사례, 시골 또는 원격 위치 시뮬레이션에서도 Zoom 비디오 SDK 테스트 결과는 강한 성능을 보여주었습니다.

TestDevLab은 또한 비디오 SDK가 대역폭, CPU, RAM과 같은 제한된 리소스를 어떻게 처리하는지 알아보기 위해 테스트를 실행했습니다. 이 경우에도 Zoom 비디오 SDK는 계속 잘 작동했습니다.

TestDevLab은 전 세계의 스타트업 및 Fortune지 선정 500대 기업이 출시 주기를 단축하고 제품 품질을 개선하고 사용자 경험을 개선할 수 있도록 지원합니다. 또한 TestDevLab은 서비스 및 솔루션의 일부로서 모범 사례를 따르고 업계 표준 테스트 도구 및 맞춤형 테스트 솔루션을 사용하여 SDK를 위한 테스트 자동화 서비스뿐만 아니라 혁신적인 음성/영상 품질 테스트와 벤치마킹, 기능, 회귀, 보안 및 통합 테스트를 제공합니다.

비디오 SDK 품질 평가

비디오 SDK 품질 평가 시 다음을 포함해 고려해야 할 여러 가지 측면이 있습니다.

사용자 기기: TestDevLab의 수행 범위는 비교가 가능하도록 모든 SDK에서 동일한 기기들을 테스트하는 것이었습니다.

네트워크 제한 사항: 비교 분석을 실시하기 위해서 네트워크 조건을 제어할 수 있어야 합니다. TestDevLab은 무제한, 송신기에 제한된 대역폭 적용, 수신기에 제한된 대역폭 적용, 무작위 25% 패킷 손실의 4가지 네트워크 제한에 중점을 두었습니다. 양호한 연결을 보장하기 위해 각 기기는 다른 라우터에 연결됩니다.

예측 가능성 및 반복 가능성: TestDevLab은 8개의 테스트를 4번의 테스트로 분할하여 수행했습니다. 각 테스트는 모든 잠재적인 글로벌 네트워크 정체/예기치 못한 서비스 속도 지연 등의 영향을 줄이기 위해 다른 시간에 수행되었습니다. 이러한 테스트 중에서 TestDevLab은 전반적으로 가장 일관적인 결과가 나타난 5개의 테스트를 선택했습니다.

분석: 결과를 분석하기 위해 TestDevLab은 수행 중 검증을 실행했습니다. 모든 테스트에 대해 시간 경과에 따른 결과를 검토하고 영상을 무작위로 점검하여 주관적인 관점과 비교해 데이터 유효성을 확인하였습니다.

성능 결과 및 분석

TestDevLab은 각 시나리오에 대해 여러 번 테스트를 실시했습니다. 각 테스트 및 모든 벤더에 대해 여러 번의 실행에 걸쳐 동일한 시나리오에서 일관적인 결과가 확인되었습니다. 결과를 분석할 때 TestDevLab은 다음 사항을 검토했습니다.

성능 품질: TestDevLab은 다양한 네트워크 조건에서 음성 지연 및 영상 지연의 품질을 분석했습니다. 또한 프레임 속도 비교, FPS(초당 프레임 수), VMAF(Video Multimethod Assessment Fusion)를 살펴보았습니다.

이상적이지 않은 네트워크 조건에서의 리소스 관리 TestDevLab은 벤더들이 패킷 손실 상황에서 리소스를 관리하는 방법을 살펴보았습니다.

CPU/RAM 사용량: TestDevLab은 애플리케이션의 부하가 높을 때(예: 여러 참가자 영상이 갤러리 보기로 렌더링됨) 벤더들이 리소스를 소비하는 방법을 살펴보았습니다.

성능 품질

성능 품질은 다양한 네트워크 조건 전반에서 중요합니다. TestDevLab은 무제한 네트워크로 음성 지연, 영상 지연, 프레임 속도를 테스트했습니다.

벤더들을 대상으로 실시한 음성 지연 테스트 결과 약간 더 긴 지연을 보인 Chime의 경우를 제외하고는 전반적으로 지연 정도가 비슷했습니다.

영상 지연 비교에서 Zoom, Agora, Twilio, Chime의 경우 영상 지연이 대부분 250ms 미만이었습니다. 한편, Vonage TokBox의 경우 영상 지연이 250ms부터 1,000ms 이상까지 이르렀습니다.

프레임 속도 비교 테스트에서는 Zoom이 영상 통화에서 가장 높은 프레임 속도를 보였습니다.

무제한 FPS 비교 차트

또한 테스트 결과 Zoom이 모든 테스트된 네트워크 조건에서 영상 품질이 가장 일관적이었습니다. 테스트는 대역폭 제한 없이 시작되었으며, 그 다음 낮은 대역폭 제한을 모든 벤더에 동일하게 적용했습니다(먼저 송신기 측에 적용하고, 다음은 수신기 측에 적용).

제한된 수신기 테스트의 경우 프레임 속도 복구

이상적이지 않은 네트워크 조건에서의 리소스 관리

그 다음 TestDevLab은 25% 패킷 손실 시나리오에서 소스의 지속력을 살펴보았습니다. 패킷이 손실되면 네트워크 속도가 느려지고, 병목 현상이 야기되고, 네트워크 처리량 대역폭에 방해가 일어나고, 비용이 많이 들 수 있습니다. 패킷 손실은 다양한 이유로 발생할 수 있으며, 그 중 다수가 의도치 않은 경우입니다. 몇 가지 예를 들면 네트워크 정체, 신뢰할 수 없는 네트워크(특히 모바일), 소프트웨어 버그, 과부하된 기기 등이 있습니다.

25% 패킷 손실이 포함된 테스트에서 Zoom의 경우는 대역폭을 보존하고 패킷 손실 및 제약된 네트워크 조건에서 CPU 및 메모리 사용량을 낮게 유지하면서 잘 작동했습니다. Zoom은 스마트한 관리를 제공하며 통화 품질을 유지하는 동시에 신중한 방식을 취합니다.

한편, 이 테스트에서 Agora의 경우는 패킷 손실에 대해 다른 접근 방식을 취하는 것으로 나타났습니다. 즉, 패킷 손실을 처리하려 하는 데 많은 대역폭을 소비합니다. 만약 제한된 비트레이트가 패킷 손실의 원인인 경우, 더 많은 대역폭을 소비하려 하는 것은 문제를 야기할 수 있습니다.

25% 패킷 손실 상황에서 음성 품질을 비교했을 때, Zoom과 Agora는 4.00MOS가 넘는 수준으로 음성 품질을 원활히 처리했습니다. 그러나 Twilio의 음성 품질은 사용 불가 수준이었고 Chime의 음성 품질은 3.00MOS 미만의 수준으로 거의 사용 불가에 가까웠습니다.

25% 패킷 손실의 경우 POLQA 비교 차트

25% 패킷 손실 상황에서 음성 지연을 살펴보았을 때, 패킷 손실을 처리하기 위해 200~250ms의 현저한 증가를 보인 Agora에 비해 Zoom은 약 100ms 증가했습니다.

네트워크 비트레이트를 비교했을 때, 테스트 결과 Twilio와 Chime 모두 불안정했고 매우 낮은 비트레이트로 기본 설정되는 것으로 나타났습니다. 반면 Agora의 비트레이트는 매우 높았는데, 이는 제품이 패킷 손실의 원인을 추정할 때 네트워크 정체를 고려하지 못할 수 있음을 보여 줍니다.

송신 25% 패킷 손실의 경우 전송 비트레이트 비교

수신 25% 패킷 손실의 경우 전송 비트레이트 비교

CPU 사용량의 경우, Zoom은 테스트 시나리오에서 다른 네 곳의 벤더와 비교했을 때 CPU를 가장 적게 사용했습니다.

25% 패킷 손실의 경우 CPU 비교

Zoom은 또한 RAM 사용량도 가장 낮았습니다. 아래 차트에서와 같이 25% 패킷 손실 상황에서 Twilio와 Chime은 모두 약 500MB의 RAM을 사용했으며 Agora는 영상 통화에 3GB 이상을 사용했습니다.

25% 패킷 손실의 경우 RAM 비교

CPU/RAM 사용량

CPU 및 RAM 사용량이 낮은 경우의 이점은 다음과 같습니다.

  • 사용자 경험 개선
  • 더 많은 리소스를 사용할 수 있으므로 앱 성능 향상
  • 앱이 배터리를 많이 사용한다는 불만 감소
  • 사용자가 화상 회의와 함께 다른 애플리케이션 실행 가능

CPU 및 RAM 사용량이 낮아지면 비디오 게임 등 리소스 소비가 많은 기타 애플리케이션과 CAD 및 3D 디자인 등 그래픽 협업 애플리케이션에 실시간 A/V를 내장하는 경우에 이상적입니다.

TestDevLab은 사용자 수에 따른 CPU 사용량, 시간 경과에 따른 CPU 사용량, 시간 경과에 따른 메모리 사용량을 조사했습니다. 테스트 수행 결과, Zoom 비디오 SDK가 CPU를 적게 사용하는 것으로 나타났습니다. 앞서 언급했듯이, CPU 사용량이 낮아지면 사용자 경험이 개선되고, 더 많은 리소스 가용성으로 앱 성능이 향상되고, 앱이 배터리를 많이 사용한다는 불만이 줄어들 수 있습니다.

사용자 수에 따른 CPU 사용량

시스템 CPU 그리드 비교

시간 경과에 따른 CPU 사용량 - CPU 무제한 수신기

시간 경과에 따른 CPU 사용량 - 시스템 CPU 무제한 수신기

동일한 테스트에서 Agora의 경우는 32 그리드 갤러리 보기를 호스팅하지 못했습니다. 그리고 Vonage TokBox는 지속적으로 다른 벤더들보다 CPU를 더 많이 사용했습니다.

결론

Zoom 비디오 SDK는 대역폭, CPU, RAM 등의 리소스가 제한된 시나리오를 포함해 모든 네트워크 시나리오에 적합합니다.

TestDevLab은 각 시나리오에 대해 여러 번 테스트를 실시했으며, 그 결과는 매번 일관적이었습니다. Zoom 비디오 SDK는 다음 테스트에서 돋보이는 결과를 보였습니다.

  • 성능 품질
  • 대역폭 신뢰성
  • CPU/RAM 사용량

이 사이트를 방문하여 개발을 가속화하고 완전히 사용자 지정 가능한 비디오 기반 애플리케이션을 구축하는 방법을 알아보세요.

부록

테스트 환경

Zoom 비디오 SDK와 Agora, Vonage TokBox, Chime, Twilio의 비디오 SDK를 사전 정의된 일련의 시나리오에서 테스트했습니다.

TestDevLab은 2가지 다른 참가자 수와 무제한, 송신기에 제한 사항 적용, 수신기에 제한 사항 적용, 25% 패킷 손실의 4가지 다른 네트워크 제한 조건으로 3개의 테스트 유형에 걸쳐 5개 벤더를 모두 테스트했습니다. TestDevLab은 8개의 테스트를 4번의 테스트로 분할하여 여러 다른 시간에 수행했습니다. 그 다음 TestDevLab은 전반적으로 가장 일관적인 결과가 나타난 5개의 테스트를 선택하여 분석 및 결과를 산출했습니다.

다양한 부하 수준에서 CPU 및 RAM 사용량을 테스트하기 위해 TestDevLab은 총 48명의 사용자가 있는 통화로 시작되는 스트레스 테스트를 만들었습니다. 영상을 스트리밍하는 동안 TestDevLab은 60초마다 그리드의 사용자 수를 변경하여 32명, 16명, 8명*, 4명, 2명의 사용자 시나리오를 테스트했습니다.

성능 테스트의 경우 TestDevLab 플랫폼은 다음 방식으로 구성되었습니다.

  • 송신 기기: MSI Katana GF66 11UD i7-11800H, 8GB, 512GB SSD, GeForce RTX 3050 Ti 4GB
  • 수신 기기: Lenovo ThinkPad E495|R5 3500U|16GB|512SSD|Vega 8(20NE-001GMH)
  • 영상 통화 해상도: 1080×720
  • 화면 공유 해상도: 1920×1080(화면 해상도)
  • 영상 프레임 속도: 30FPS
  • 영상 비트레이트: 3000kbps

TestDevLab은 성능 분석을 위해 영상 통화, 동적 화면 공유, 정적 화면 공유 테스트 시나리오를 실행했습니다. 각 시나리오는 참가자 수를 달리 하여 다섯 번씩 테스트되었습니다. 다음 프로세스가 적용되었습니다.

  • 네트워크 제한 사항 적용
  • 송신 기기를 이용해 통화 생성
  • 수신 기기를 통해 추가 참가자들과 통화에 참여
  • 영상 스트리밍 또는 화면 공유 시작
  • 병렬로 로우 테스트 데이터 수집
  • 영상이 끝나면 참여한 순서의 역순으로 콜인 나가기
  • 로우 데이터 처리
  • 처리된 데이터 검증

* TestDevLab 테스트 설계에는 참가자 8명의 갤러리 테스트도 포함되었습니다. 하지만 이 테스트의 구현에 잘못된 해상도가 사용되었으며 해당 결과는 분석 및 보고서에 포함되지 않았습니다.