5
Most read
7
Most read
8
Most read
WebRTC 품질 측정 기초
리모트몬스터 최진호
VoIP 품질지표 - MOS (Mean Opinion Score)
- 청취자들의 주관적인 음성품질의 1-5단계
측정법
- PESQ (Perceptual Evaluation of Speech
Quality)
- 원래 신호 대비 수신 신호의 패킷 손실율 기반
측정법
- E-Model
- 신호대 잡음비에서 음성신호,지연,코덱등의
손상값을 차감하여 종합음성 전송품질 R 계산
- PESQ에 지연시간이 추가되고 MOS의 장점을
흡수한 형태
Mobile
VoIP의 품질 환경
- 단말기의 다양한 하드웨어적 특성
- 통신 환경의 다양성
- 이동중의 환경 변화의 불확실성
- 모바일 UX의 다양성
WebRTC 품질관리의 범위
품질 요인 품질 기준
A BS S C E
단말기 성능
네트워크 종류
단말기간 지역적 거리
단말기와 서버간 지역적 거리
TURN 가용력 대 부하량
MOS, PESQ, E-Model
접속율 혹은 접속 실패율
Setup time
Latency or delay
통신 유지율
그리고 통화 품질(QOS or QOE)
WebRTC 품질
요소 -
Bandwidth
- 대역폭
- 네트워크상 가용한 최대 전송속도(Mbps
or Kbps)
- WebRTC엔진은 기본적으로
BWE(BandWidth Estimation) 엔진 탑재
-
WebRTC 품질
요소 - Packet
loss
- 실제 전송한 패킷수 대비 수신측에서 받지
못한 패킷의 수(퍼센트)
- WebRTC에서 number of packets lost =
기대했던 패킷 수 - 수신한 패킷 수
- 단일 packet loss도 중요하나 burst packet
loss도 중요
- MLBS (Mean Loss Burst Size): 연달아
발생하는 packet loss 크기의 평균값
- 01010101 = 1
- 11110000 = 4
WebRTC 품질
요소 - Delay
- 패킷을 보낸 시간과 받은 시간의 차이
- RTT (Round Trip Time)으로 측정
- delay와 latency는 동일하게 사용
WebRTC 품질
요소 - jitter
- 연속적인 패킷을 받은 시간(delay)의
변동폭
- WebRTC에서 정의하는 jitter 계산법
- D(i, j) = (Rj − Sj ) − (Ri − Si)
- J(i) = J(i − 1) + (|D(i − 1, i)| − J(i −
1))/16
- webrtc엔진은 음성/영상 엔진 각각 jitter
buffer를 갖고 있으며, 오류 보정과 packet
loss등 다양한 품질에서 품질을 보정하기
위한 용도로 사용
https://w3c.github.io/webrtc-stats/
WebRTC 품질
요소 - CPU
사용율 혹은 온도
- 다양한 사용자 경험에 영향을 미침
- 모바일에서 WebRTC사용의 최소 사양은
2.5Ghz, 2MB RAM이지만 장시간 사용시
CPU의 성능이 매우 중요
- 온도는 디바이스를 쥐는 경험에서도
중요하지만 더욱 중요한 것은 장시간
사용시 온도가 높아지고 결국
CPU스로틀링을 감지할 수 있는 수단이기
때문
http://ieeexplore.ieee.org/document/7231206/
WebRTC- stats - codec
- inbound-rtp
- outbound-rtp
- peer-connection
- data-channel
- track
- transport
- candidate-pair
- local-candidate
- remote-candidate
- certificate
https://www.w3.org/TR/webrtc-stats
WebRTC- firefox
stats
- inboundrtp : outbound_rtcp_video/audio,
inbound_rtp_video/audio
- outboundrtp : outbound_rtp_vide/audio,
inbound_rtcp_audio/video
- candidatepair list (selected=true)
- localcandidate
- remotecandidate
WebRTC-
chrome
webrtc-internals
WebRTC-
chrome stats
- googCertificate: local에서 사용하고 certificate 자체
용도로도 사용하는 DTLS certificate 정보
- googComponent: certificate 통계와 connection간의 접착제
역할을 수행합니다. 즉, 현재 active한 candidate 쌍들에 대한
링크를 가짐
- googCandidatePair: ICE Candidate 쌍
- 송수신된 패킷과 bytes의 전체 수(bytesSent,
bytesReceived, packetsSent; packetsReceived는
알수없는 이유로 missing)
- 현재 active한 connection인지 여부
- 송수신된 STUN 요청 및 수신의 수(requestsSent,
responsesReceived, requestsReceived,
responsesSent)
- googRtt: 마지막 STUN요청의 RTT
- googTransportType: 전송 type
- localCandidate/remoteCandidate
WebRTC-
chrome stats
- SSRC:peerconnection을 통해서 송수신되는 음성 혹은
영상 트랙 하나를 담당
- SSRC의 공통 값
- media: 음성인지 영상인지
- googTrackId: 대상 트랙 id
- googRTT: RTCP통해 측정된 RTT
- googCodecName: 코덱의 이름
- bytesSent, bytesReceived, packetsSent,
packetsReceived(송신인지 수신인지에 따라): 누적값.
이전값과 함께 적절한 계산 필요
- packetsLost: 잃어버린 패킷수
- SSRC- Voice
- audioInputLeve, audioOutputLevel(표준= audioLevel):
음성신호가 마이크 혹은 스피커에서 오는지 여부
- googJitterReceived/googJitterBufferReceived: 수신된
Jitter의 양 정보, jitter buffer state에 대한 정보
WebRTC-
chrome stats
SSRC video
- googNacksSent
- googPLIsSent
- googFIRsSent
- googFrameWidthInput, googFrameHeightInput,
googFrameRateInput: 입력된 frame size와 frame rate
- googFrameWidthSent, googFrameHeightSent,
googFrameRateSent: 실제 전송된 frame 정보
VideoBWE: bandwidth 예측값
- googAvailableReceiveBandwidth: 수신중인 영상을 위해
가용한 bandwidth
- googAvailableSendBandwidth: 송신중인 영상을 위한 가용한
bandwidth
- googTargetEncBitrate: 영상 인코더가 목표로 하는 bitrate
- googActualEncBitrate: 영상 인코더의 실제 초기 bitrate
- googTransmitBitrate: 실제 전송하는 bitrate
WebRTC-
simulator NetEM
vs
Dummynet

More Related Content

PPTX
MediaRecorder と WebM で、オレオレ Live Streaming
PDF
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
PPTX
장애 분석 절차 (서영일)
PDF
서버 성능에 대한 정의와 이해
PDF
모니터링 영역의 변천사_클라우드, 디지털 경험까지)
PDF
JMS - Java Messaging Service
PDF
Java entreprise edition et industrialisation du génie logiciel par m.youssfi
PDF
Rust製の全文検索エンジンライブラリ(tantivy bayard)を試してみた
MediaRecorder と WebM で、オレオレ Live Streaming
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
장애 분석 절차 (서영일)
서버 성능에 대한 정의와 이해
모니터링 영역의 변천사_클라우드, 디지털 경험까지)
JMS - Java Messaging Service
Java entreprise edition et industrialisation du génie logiciel par m.youssfi
Rust製の全文検索エンジンライブラリ(tantivy bayard)を試してみた

What's hot (20)

PDF
What's new in Spring Batch 5
PDF
이벤트 기반 분산 시스템을 향한 여정
PPTX
대용량 분산 아키텍쳐 설계 #2 대용량 분산 시스템 아키텍쳐 디자인 패턴
PDF
Nuxt.js - Introduction
PPTX
로그 기깔나게 잘 디자인하는 법
PPT
Javaメモリ勉強会
PDF
[261] 실시간 추천엔진 머신한대에 구겨넣기
PDF
オープンソースで提供される第二のJVM:OpenJ9 VMとIBM Javaについて
PDF
Apache Maven 3
PDF
Apache Kafka’s Transactions in the Wild! Developing an exactly-once KafkaSink...
PDF
우아한테크세미나-우아한멀티모듈
PDF
대용량 로그분석 Bigquery로 간단히 사용하기 (20170215 T아카데미)
PDF
Apache Pulsarの概要と近況
PDF
신입 웹 개발자 포트폴리오 / 댓글 게시판
PPTX
Node.js Express
PDF
Nuxt.JS Introdruction
PDF
[우리가 데이터를 쓰는 법] 좋다는 건 알겠는데 좀 써보고 싶소. 데이터! - 넘버웍스 하용호 대표
PPTX
Cryptography for Java Developers: Nakov jProfessionals (Jan 2019)
PDF
오픈소스 모니터링비교
PDF
第一次用 Vue.js 就愛上 [改]
What's new in Spring Batch 5
이벤트 기반 분산 시스템을 향한 여정
대용량 분산 아키텍쳐 설계 #2 대용량 분산 시스템 아키텍쳐 디자인 패턴
Nuxt.js - Introduction
로그 기깔나게 잘 디자인하는 법
Javaメモリ勉強会
[261] 실시간 추천엔진 머신한대에 구겨넣기
オープンソースで提供される第二のJVM:OpenJ9 VMとIBM Javaについて
Apache Maven 3
Apache Kafka’s Transactions in the Wild! Developing an exactly-once KafkaSink...
우아한테크세미나-우아한멀티모듈
대용량 로그분석 Bigquery로 간단히 사용하기 (20170215 T아카데미)
Apache Pulsarの概要と近況
신입 웹 개발자 포트폴리오 / 댓글 게시판
Node.js Express
Nuxt.JS Introdruction
[우리가 데이터를 쓰는 법] 좋다는 건 알겠는데 좀 써보고 싶소. 데이터! - 넘버웍스 하용호 대표
Cryptography for Java Developers: Nakov jProfessionals (Jan 2019)
오픈소스 모니터링비교
第一次用 Vue.js 就愛上 [改]
Ad

Viewers also liked (20)

PDF
WebRTC 현재와 미래 최진호 2016
PDF
WebRTC 전망 최진호_webappscamp
PDF
왜Web rtc인가
PDF
Tdevelopers forum web_rtc 기술 및 api 활용
PDF
Webrtc 동향과 이슈 2016.08
PPT
What is web rtc
PDF
[1C2]webrtc 개발, 현재와 미래
PPT
Research on Audio and Video Streaming
PDF
Speecher
PPTX
An Introduction to WebRTC
PDF
Kranky Geek WebRTC 2015 - What's next for WebRTC?
PPTX
Ffmpeg for android
PPT
IPC mechanisms in windows
PPTX
PDF
WebRTC in 2014
PDF
원격 의료 산업의 글로벌 동향 및 주요 이슈
PPTX
FFmpeg presentation
PDF
오픈소스와 거버넌스
PDF
[Hello world 오픈세미나]실시간웹을위한comet과socket.io
PDF
Kranky Geek Sao Paulo 2016 - WebRTC Statistics and Analytics
WebRTC 현재와 미래 최진호 2016
WebRTC 전망 최진호_webappscamp
왜Web rtc인가
Tdevelopers forum web_rtc 기술 및 api 활용
Webrtc 동향과 이슈 2016.08
What is web rtc
[1C2]webrtc 개발, 현재와 미래
Research on Audio and Video Streaming
Speecher
An Introduction to WebRTC
Kranky Geek WebRTC 2015 - What's next for WebRTC?
Ffmpeg for android
IPC mechanisms in windows
WebRTC in 2014
원격 의료 산업의 글로벌 동향 및 주요 이슈
FFmpeg presentation
오픈소스와 거버넌스
[Hello world 오픈세미나]실시간웹을위한comet과socket.io
Kranky Geek Sao Paulo 2016 - WebRTC Statistics and Analytics
Ad

Similar to WebRTC 품질 측정 기초 (20)

PDF
웹기반원격감시제어 2010 CPD
PDF
[온라인교육시리즈] 글로벌 서비스를 위한 인프라 구축방법(남용현 클라우드 솔루션 아키텍트)
PDF
WebRTC
PPT
Network Manager소개 08년5월1
PPTX
20250307_Kit-Woks Team Study_gRPC_김현진.pptx
PDF
모아소프트(MOASOFT) 회사소개서 (20200922) version
PPT
Talk IT_CA_정성엽_111028
PDF
NETSCOUT nGeniusPULSE for Client/Branch/SaaS/Cloud
PDF
NanoQplus for EFM32 - EnergyMicro Seminar Korea 20120823
PDF
어려웠다, WebRTC를 활용한 360º 영상통화 트러블 슈팅
PPTX
Network seminar class 3
PPSX
Security framework2
PDF
NFC(Near Field Communication) 세미나자료
PDF
2015 n tels iot product lineup_2015
PDF
ABG(Xener SBC-Session Board Controller) Introduction
PDF
NETSCOUT nGeniusONE for Service Assurance
PDF
Cross-Platfrom 기반 Agent 개발
PDF
w3c 2017 - WebRTC 기술 back to basic 발표자료
PPT
m-Station Channel Xpander5 020325
PDF
글로벌 모바일 네트워크 환경 이해 Understanding global mobile network situation
웹기반원격감시제어 2010 CPD
[온라인교육시리즈] 글로벌 서비스를 위한 인프라 구축방법(남용현 클라우드 솔루션 아키텍트)
WebRTC
Network Manager소개 08년5월1
20250307_Kit-Woks Team Study_gRPC_김현진.pptx
모아소프트(MOASOFT) 회사소개서 (20200922) version
Talk IT_CA_정성엽_111028
NETSCOUT nGeniusPULSE for Client/Branch/SaaS/Cloud
NanoQplus for EFM32 - EnergyMicro Seminar Korea 20120823
어려웠다, WebRTC를 활용한 360º 영상통화 트러블 슈팅
Network seminar class 3
Security framework2
NFC(Near Field Communication) 세미나자료
2015 n tels iot product lineup_2015
ABG(Xener SBC-Session Board Controller) Introduction
NETSCOUT nGeniusONE for Service Assurance
Cross-Platfrom 기반 Agent 개발
w3c 2017 - WebRTC 기술 back to basic 발표자료
m-Station Channel Xpander5 020325
글로벌 모바일 네트워크 환경 이해 Understanding global mobile network situation

WebRTC 품질 측정 기초

  • 1. WebRTC 품질 측정 기초 리모트몬스터 최진호
  • 2. VoIP 품질지표 - MOS (Mean Opinion Score) - 청취자들의 주관적인 음성품질의 1-5단계 측정법 - PESQ (Perceptual Evaluation of Speech Quality) - 원래 신호 대비 수신 신호의 패킷 손실율 기반 측정법 - E-Model - 신호대 잡음비에서 음성신호,지연,코덱등의 손상값을 차감하여 종합음성 전송품질 R 계산 - PESQ에 지연시간이 추가되고 MOS의 장점을 흡수한 형태
  • 3. Mobile VoIP의 품질 환경 - 단말기의 다양한 하드웨어적 특성 - 통신 환경의 다양성 - 이동중의 환경 변화의 불확실성 - 모바일 UX의 다양성
  • 4. WebRTC 품질관리의 범위 품질 요인 품질 기준 A BS S C E 단말기 성능 네트워크 종류 단말기간 지역적 거리 단말기와 서버간 지역적 거리 TURN 가용력 대 부하량 MOS, PESQ, E-Model 접속율 혹은 접속 실패율 Setup time Latency or delay 통신 유지율 그리고 통화 품질(QOS or QOE)
  • 5. WebRTC 품질 요소 - Bandwidth - 대역폭 - 네트워크상 가용한 최대 전송속도(Mbps or Kbps) - WebRTC엔진은 기본적으로 BWE(BandWidth Estimation) 엔진 탑재 -
  • 6. WebRTC 품질 요소 - Packet loss - 실제 전송한 패킷수 대비 수신측에서 받지 못한 패킷의 수(퍼센트) - WebRTC에서 number of packets lost = 기대했던 패킷 수 - 수신한 패킷 수 - 단일 packet loss도 중요하나 burst packet loss도 중요 - MLBS (Mean Loss Burst Size): 연달아 발생하는 packet loss 크기의 평균값 - 01010101 = 1 - 11110000 = 4
  • 7. WebRTC 품질 요소 - Delay - 패킷을 보낸 시간과 받은 시간의 차이 - RTT (Round Trip Time)으로 측정 - delay와 latency는 동일하게 사용
  • 8. WebRTC 품질 요소 - jitter - 연속적인 패킷을 받은 시간(delay)의 변동폭 - WebRTC에서 정의하는 jitter 계산법 - D(i, j) = (Rj − Sj ) − (Ri − Si) - J(i) = J(i − 1) + (|D(i − 1, i)| − J(i − 1))/16 - webrtc엔진은 음성/영상 엔진 각각 jitter buffer를 갖고 있으며, 오류 보정과 packet loss등 다양한 품질에서 품질을 보정하기 위한 용도로 사용 https://w3c.github.io/webrtc-stats/
  • 9. WebRTC 품질 요소 - CPU 사용율 혹은 온도 - 다양한 사용자 경험에 영향을 미침 - 모바일에서 WebRTC사용의 최소 사양은 2.5Ghz, 2MB RAM이지만 장시간 사용시 CPU의 성능이 매우 중요 - 온도는 디바이스를 쥐는 경험에서도 중요하지만 더욱 중요한 것은 장시간 사용시 온도가 높아지고 결국 CPU스로틀링을 감지할 수 있는 수단이기 때문 http://ieeexplore.ieee.org/document/7231206/
  • 10. WebRTC- stats - codec - inbound-rtp - outbound-rtp - peer-connection - data-channel - track - transport - candidate-pair - local-candidate - remote-candidate - certificate https://www.w3.org/TR/webrtc-stats
  • 11. WebRTC- firefox stats - inboundrtp : outbound_rtcp_video/audio, inbound_rtp_video/audio - outboundrtp : outbound_rtp_vide/audio, inbound_rtcp_audio/video - candidatepair list (selected=true) - localcandidate - remotecandidate
  • 13. WebRTC- chrome stats - googCertificate: local에서 사용하고 certificate 자체 용도로도 사용하는 DTLS certificate 정보 - googComponent: certificate 통계와 connection간의 접착제 역할을 수행합니다. 즉, 현재 active한 candidate 쌍들에 대한 링크를 가짐 - googCandidatePair: ICE Candidate 쌍 - 송수신된 패킷과 bytes의 전체 수(bytesSent, bytesReceived, packetsSent; packetsReceived는 알수없는 이유로 missing) - 현재 active한 connection인지 여부 - 송수신된 STUN 요청 및 수신의 수(requestsSent, responsesReceived, requestsReceived, responsesSent) - googRtt: 마지막 STUN요청의 RTT - googTransportType: 전송 type - localCandidate/remoteCandidate
  • 14. WebRTC- chrome stats - SSRC:peerconnection을 통해서 송수신되는 음성 혹은 영상 트랙 하나를 담당 - SSRC의 공통 값 - media: 음성인지 영상인지 - googTrackId: 대상 트랙 id - googRTT: RTCP통해 측정된 RTT - googCodecName: 코덱의 이름 - bytesSent, bytesReceived, packetsSent, packetsReceived(송신인지 수신인지에 따라): 누적값. 이전값과 함께 적절한 계산 필요 - packetsLost: 잃어버린 패킷수 - SSRC- Voice - audioInputLeve, audioOutputLevel(표준= audioLevel): 음성신호가 마이크 혹은 스피커에서 오는지 여부 - googJitterReceived/googJitterBufferReceived: 수신된 Jitter의 양 정보, jitter buffer state에 대한 정보
  • 15. WebRTC- chrome stats SSRC video - googNacksSent - googPLIsSent - googFIRsSent - googFrameWidthInput, googFrameHeightInput, googFrameRateInput: 입력된 frame size와 frame rate - googFrameWidthSent, googFrameHeightSent, googFrameRateSent: 실제 전송된 frame 정보 VideoBWE: bandwidth 예측값 - googAvailableReceiveBandwidth: 수신중인 영상을 위해 가용한 bandwidth - googAvailableSendBandwidth: 송신중인 영상을 위한 가용한 bandwidth - googTargetEncBitrate: 영상 인코더가 목표로 하는 bitrate - googActualEncBitrate: 영상 인코더의 실제 초기 bitrate - googTransmitBitrate: 실제 전송하는 bitrate