SlideShare une entreprise Scribd logo
1  sur  16
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

도메인 주도 설계의 본질
도메인 주도 설계의 본질도메인 주도 설계의 본질
도메인 주도 설계의 본질Young-Ho Cho
 
〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3
〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3
〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3Heungsub Lee
 
숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인
숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인
숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인VMware Tanzu Korea
 
Sync async-blocking-nonblocking-io
Sync async-blocking-nonblocking-ioSync async-blocking-nonblocking-io
Sync async-blocking-nonblocking-ioCheoloh Bae
 
Windows Registered I/O (RIO) vs IOCP
Windows Registered I/O (RIO) vs IOCPWindows Registered I/O (RIO) vs IOCP
Windows Registered I/O (RIO) vs IOCPSeungmo Koo
 
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개if kakao
 
쿠키런: 킹덤 대규모 인프라 및 서버 운영 사례 공유 [데브시스터즈 - 레벨 200] - 발표자: 용찬호, R&D 엔지니어, 데브시스터즈 ...
쿠키런: 킹덤 대규모 인프라 및 서버 운영 사례 공유 [데브시스터즈 - 레벨 200] - 발표자: 용찬호, R&D 엔지니어, 데브시스터즈 ...쿠키런: 킹덤 대규모 인프라 및 서버 운영 사례 공유 [데브시스터즈 - 레벨 200] - 발표자: 용찬호, R&D 엔지니어, 데브시스터즈 ...
쿠키런: 킹덤 대규모 인프라 및 서버 운영 사례 공유 [데브시스터즈 - 레벨 200] - 발표자: 용찬호, R&D 엔지니어, 데브시스터즈 ...Amazon Web Services Korea
 
[오픈소스컨설팅] EFK Stack 소개와 설치 방법
[오픈소스컨설팅] EFK Stack 소개와 설치 방법[오픈소스컨설팅] EFK Stack 소개와 설치 방법
[오픈소스컨설팅] EFK Stack 소개와 설치 방법Open Source Consulting
 
AWS 를 활용한 저지연 라이브 (Low Latency Live) 서비스 구현 - 류재춘 컨설턴트/에반젤리스트, GS Neot다 :: AW...
AWS 를 활용한 저지연 라이브 (Low Latency Live) 서비스 구현 - 류재춘 컨설턴트/에반젤리스트, GS Neot다 :: AW...AWS 를 활용한 저지연 라이브 (Low Latency Live) 서비스 구현 - 류재춘 컨설턴트/에반젤리스트, GS Neot다 :: AW...
AWS 를 활용한 저지연 라이브 (Low Latency Live) 서비스 구현 - 류재춘 컨설턴트/에반젤리스트, GS Neot다 :: AW...Amazon Web Services Korea
 
[NDC17] Kubernetes로 개발서버 간단히 찍어내기
[NDC17] Kubernetes로 개발서버 간단히 찍어내기[NDC17] Kubernetes로 개발서버 간단히 찍어내기
[NDC17] Kubernetes로 개발서버 간단히 찍어내기SeungYong Oh
 
AWS 클라우드 기반 게임 아키텍처 사례 - AWS Summit Seoul 2017
AWS 클라우드 기반 게임 아키텍처 사례 - AWS Summit Seoul 2017AWS 클라우드 기반 게임 아키텍처 사례 - AWS Summit Seoul 2017
AWS 클라우드 기반 게임 아키텍처 사례 - AWS Summit Seoul 2017Amazon Web Services Korea
 
AWS Transit Gateway를 통한 Multi-VPC 아키텍처 패턴 - 강동환 솔루션즈 아키텍트, AWS :: AWS Summit ...
AWS Transit Gateway를 통한 Multi-VPC 아키텍처 패턴 - 강동환 솔루션즈 아키텍트, AWS :: AWS Summit ...AWS Transit Gateway를 통한 Multi-VPC 아키텍처 패턴 - 강동환 솔루션즈 아키텍트, AWS :: AWS Summit ...
AWS Transit Gateway를 통한 Multi-VPC 아키텍처 패턴 - 강동환 솔루션즈 아키텍트, AWS :: AWS Summit ...Amazon Web Services Korea
 
동기화 시대를 뛰어넘는 비동기 프로그래밍
동기화 시대를 뛰어넘는 비동기 프로그래밍동기화 시대를 뛰어넘는 비동기 프로그래밍
동기화 시대를 뛰어넘는 비동기 프로그래밍명신 김
 
마이크로서비스 아키텍처로 개발하기
마이크로서비스 아키텍처로 개발하기마이크로서비스 아키텍처로 개발하기
마이크로서비스 아키텍처로 개발하기Jaewoo Ahn
 
HTTP/2で 速くなるとき ならないとき
HTTP/2で 速くなるとき ならないときHTTP/2で 速くなるとき ならないとき
HTTP/2で 速くなるとき ならないときKazuho Oku
 
간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1
간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1
간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1Amazon Web Services Korea
 
1. 아키텍쳐 설계 프로세스
1. 아키텍쳐 설계 프로세스1. 아키텍쳐 설계 프로세스
1. 아키텍쳐 설계 프로세스Terry Cho
 
[JWPA-1]의존성 주입(Dependency injection)
[JWPA-1]의존성 주입(Dependency injection)[JWPA-1]의존성 주입(Dependency injection)
[JWPA-1]의존성 주입(Dependency injection)Young-Ho Cho
 
쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기Brian Hong
 

Tendances (20)

도메인 주도 설계의 본질
도메인 주도 설계의 본질도메인 주도 설계의 본질
도메인 주도 설계의 본질
 
〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3
〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3
〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3
 
숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인
숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인
숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인
 
Sync async-blocking-nonblocking-io
Sync async-blocking-nonblocking-ioSync async-blocking-nonblocking-io
Sync async-blocking-nonblocking-io
 
Windows Registered I/O (RIO) vs IOCP
Windows Registered I/O (RIO) vs IOCPWindows Registered I/O (RIO) vs IOCP
Windows Registered I/O (RIO) vs IOCP
 
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
 
쿠키런: 킹덤 대규모 인프라 및 서버 운영 사례 공유 [데브시스터즈 - 레벨 200] - 발표자: 용찬호, R&D 엔지니어, 데브시스터즈 ...
쿠키런: 킹덤 대규모 인프라 및 서버 운영 사례 공유 [데브시스터즈 - 레벨 200] - 발표자: 용찬호, R&D 엔지니어, 데브시스터즈 ...쿠키런: 킹덤 대규모 인프라 및 서버 운영 사례 공유 [데브시스터즈 - 레벨 200] - 발표자: 용찬호, R&D 엔지니어, 데브시스터즈 ...
쿠키런: 킹덤 대규모 인프라 및 서버 운영 사례 공유 [데브시스터즈 - 레벨 200] - 발표자: 용찬호, R&D 엔지니어, 데브시스터즈 ...
 
[오픈소스컨설팅] EFK Stack 소개와 설치 방법
[오픈소스컨설팅] EFK Stack 소개와 설치 방법[오픈소스컨설팅] EFK Stack 소개와 설치 방법
[오픈소스컨설팅] EFK Stack 소개와 설치 방법
 
AWS 를 활용한 저지연 라이브 (Low Latency Live) 서비스 구현 - 류재춘 컨설턴트/에반젤리스트, GS Neot다 :: AW...
AWS 를 활용한 저지연 라이브 (Low Latency Live) 서비스 구현 - 류재춘 컨설턴트/에반젤리스트, GS Neot다 :: AW...AWS 를 활용한 저지연 라이브 (Low Latency Live) 서비스 구현 - 류재춘 컨설턴트/에반젤리스트, GS Neot다 :: AW...
AWS 를 활용한 저지연 라이브 (Low Latency Live) 서비스 구현 - 류재춘 컨설턴트/에반젤리스트, GS Neot다 :: AW...
 
[NDC17] Kubernetes로 개발서버 간단히 찍어내기
[NDC17] Kubernetes로 개발서버 간단히 찍어내기[NDC17] Kubernetes로 개발서버 간단히 찍어내기
[NDC17] Kubernetes로 개발서버 간단히 찍어내기
 
AWS 클라우드 기반 게임 아키텍처 사례 - AWS Summit Seoul 2017
AWS 클라우드 기반 게임 아키텍처 사례 - AWS Summit Seoul 2017AWS 클라우드 기반 게임 아키텍처 사례 - AWS Summit Seoul 2017
AWS 클라우드 기반 게임 아키텍처 사례 - AWS Summit Seoul 2017
 
AWS Transit Gateway를 통한 Multi-VPC 아키텍처 패턴 - 강동환 솔루션즈 아키텍트, AWS :: AWS Summit ...
AWS Transit Gateway를 통한 Multi-VPC 아키텍처 패턴 - 강동환 솔루션즈 아키텍트, AWS :: AWS Summit ...AWS Transit Gateway를 통한 Multi-VPC 아키텍처 패턴 - 강동환 솔루션즈 아키텍트, AWS :: AWS Summit ...
AWS Transit Gateway를 통한 Multi-VPC 아키텍처 패턴 - 강동환 솔루션즈 아키텍트, AWS :: AWS Summit ...
 
동기화 시대를 뛰어넘는 비동기 프로그래밍
동기화 시대를 뛰어넘는 비동기 프로그래밍동기화 시대를 뛰어넘는 비동기 프로그래밍
동기화 시대를 뛰어넘는 비동기 프로그래밍
 
마이크로서비스 아키텍처로 개발하기
마이크로서비스 아키텍처로 개발하기마이크로서비스 아키텍처로 개발하기
마이크로서비스 아키텍처로 개발하기
 
HTTP/2で 速くなるとき ならないとき
HTTP/2で 速くなるとき ならないときHTTP/2で 速くなるとき ならないとき
HTTP/2で 速くなるとき ならないとき
 
간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1
간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1
간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1
 
1. 아키텍쳐 설계 프로세스
1. 아키텍쳐 설계 프로세스1. 아키텍쳐 설계 프로세스
1. 아키텍쳐 설계 프로세스
 
[JWPA-1]의존성 주입(Dependency injection)
[JWPA-1]의존성 주입(Dependency injection)[JWPA-1]의존성 주입(Dependency injection)
[JWPA-1]의존성 주입(Dependency injection)
 
Api pour les nuls
Api pour les nulsApi pour les nuls
Api pour les nuls
 
쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기
 

En vedette

WebRTC 현재와 미래 최진호 2016
WebRTC 현재와 미래 최진호 2016WebRTC 현재와 미래 최진호 2016
WebRTC 현재와 미래 최진호 2016Blisson Choi
 
WebRTC 전망 최진호_webappscamp
WebRTC 전망 최진호_webappscampWebRTC 전망 최진호_webappscamp
WebRTC 전망 최진호_webappscampBlisson Choi
 
왜Web rtc인가
왜Web rtc인가왜Web rtc인가
왜Web rtc인가우일 권
 
Tdevelopers forum web_rtc 기술 및 api 활용
Tdevelopers forum web_rtc 기술 및 api 활용Tdevelopers forum web_rtc 기술 및 api 활용
Tdevelopers forum web_rtc 기술 및 api 활용Tdev SKtelecom
 
Webrtc 동향과 이슈 2016.08
Webrtc 동향과 이슈 2016.08Webrtc 동향과 이슈 2016.08
Webrtc 동향과 이슈 2016.08sung young son
 
[1C2]webrtc 개발, 현재와 미래
[1C2]webrtc 개발, 현재와 미래[1C2]webrtc 개발, 현재와 미래
[1C2]webrtc 개발, 현재와 미래NAVER D2
 
Research on Audio and Video Streaming
Research on Audio and Video StreamingResearch on Audio and Video Streaming
Research on Audio and Video StreamingNyros Technologies
 
An Introduction to WebRTC
An Introduction to WebRTCAn Introduction to WebRTC
An Introduction to WebRTCMinJae Kang
 
Kranky Geek WebRTC 2015 - What's next for WebRTC?
Kranky Geek WebRTC 2015 - What's next for WebRTC?Kranky Geek WebRTC 2015 - What's next for WebRTC?
Kranky Geek WebRTC 2015 - What's next for WebRTC?Kranky Geek
 
IPC mechanisms in windows
IPC mechanisms in windowsIPC mechanisms in windows
IPC mechanisms in windowsVinoth Raj
 
WebRTC in 2014
WebRTC in 2014WebRTC in 2014
WebRTC in 2014Lee WonJae
 
원격 의료 산업의 글로벌 동향 및 주요 이슈
원격 의료 산업의 글로벌 동향 및 주요 이슈원격 의료 산업의 글로벌 동향 및 주요 이슈
원격 의료 산업의 글로벌 동향 및 주요 이슈Yoon Sup Choi
 
오픈소스와 거버넌스
오픈소스와 거버넌스오픈소스와 거버넌스
오픈소스와 거버넌스Kevin Kim
 
[Hello world 오픈세미나]실시간웹을위한comet과socket.io
[Hello world 오픈세미나]실시간웹을위한comet과socket.io[Hello world 오픈세미나]실시간웹을위한comet과socket.io
[Hello world 오픈세미나]실시간웹을위한comet과socket.ioNAVER D2
 
Kranky Geek Sao Paulo 2016 - WebRTC Statistics and Analytics
Kranky Geek Sao Paulo 2016 - WebRTC Statistics and AnalyticsKranky Geek Sao Paulo 2016 - WebRTC Statistics and Analytics
Kranky Geek Sao Paulo 2016 - WebRTC Statistics and Analyticscallstats.io
 

En vedette (20)

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

Similaire à WebRTC 품질 측정 기초

웹기반원격감시제어 2010 CPD
웹기반원격감시제어 2010 CPD웹기반원격감시제어 2010 CPD
웹기반원격감시제어 2010 CPD활 김
 
[온라인교육시리즈] 글로벌 서비스를 위한 인프라 구축방법(남용현 클라우드 솔루션 아키텍트)
[온라인교육시리즈] 글로벌 서비스를 위한 인프라 구축방법(남용현 클라우드 솔루션 아키텍트)[온라인교육시리즈] 글로벌 서비스를 위한 인프라 구축방법(남용현 클라우드 솔루션 아키텍트)
[온라인교육시리즈] 글로벌 서비스를 위한 인프라 구축방법(남용현 클라우드 솔루션 아키텍트)NAVER CLOUD PLATFORMㅣ네이버 클라우드 플랫폼
 
Network Manager소개 08년5월1
Network Manager소개 08년5월1Network Manager소개 08년5월1
Network Manager소개 08년5월1uchung
 
모아소프트(MOASOFT) 회사소개서 (20200922) version
모아소프트(MOASOFT) 회사소개서 (20200922) version모아소프트(MOASOFT) 회사소개서 (20200922) version
모아소프트(MOASOFT) 회사소개서 (20200922) version모아소프트 MOASOFT
 
Talk IT_CA_정성엽_111028
Talk IT_CA_정성엽_111028Talk IT_CA_정성엽_111028
Talk IT_CA_정성엽_111028Cana Ko
 
NETSCOUT nGeniusPULSE for Client/Branch/SaaS/Cloud
NETSCOUT nGeniusPULSE for Client/Branch/SaaS/CloudNETSCOUT nGeniusPULSE for Client/Branch/SaaS/Cloud
NETSCOUT nGeniusPULSE for Client/Branch/SaaS/CloudJay Hong
 
NanoQplus for EFM32 - EnergyMicro Seminar Korea 20120823
NanoQplus for EFM32 - EnergyMicro Seminar Korea 20120823NanoQplus for EFM32 - EnergyMicro Seminar Korea 20120823
NanoQplus for EFM32 - EnergyMicro Seminar Korea 20120823Jongsoo Jeong
 
어려웠다, WebRTC를 활용한 360º 영상통화 트러블 슈팅
어려웠다, WebRTC를 활용한 360º 영상통화 트러블 슈팅어려웠다, WebRTC를 활용한 360º 영상통화 트러블 슈팅
어려웠다, WebRTC를 활용한 360º 영상통화 트러블 슈팅ksdc2019
 
Security framework2
Security framework2Security framework2
Security framework2skccsocial
 
NFC(Near Field Communication) 세미나자료
NFC(Near Field Communication) 세미나자료NFC(Near Field Communication) 세미나자료
NFC(Near Field Communication) 세미나자료봉조 김
 
2015 n tels iot product lineup_2015
2015 n tels iot product lineup_20152015 n tels iot product lineup_2015
2015 n tels iot product lineup_2015SangHoon Lee
 
ABG(Xener SBC-Session Board Controller) Introduction
ABG(Xener SBC-Session Board Controller) IntroductionABG(Xener SBC-Session Board Controller) Introduction
ABG(Xener SBC-Session Board Controller) IntroductionGuisun Han
 
NETSCOUT nGeniusONE for Service Assurance
NETSCOUT nGeniusONE for Service AssuranceNETSCOUT nGeniusONE for Service Assurance
NETSCOUT nGeniusONE for Service AssuranceJay Hong
 
Cross-Platfrom 기반 Agent 개발
 Cross-Platfrom 기반 Agent 개발 Cross-Platfrom 기반 Agent 개발
Cross-Platfrom 기반 Agent 개발ssuser2e5c461
 
w3c 2017 - WebRTC 기술 back to basic 발표자료
w3c 2017 - WebRTC 기술 back to basic 발표자료w3c 2017 - WebRTC 기술 back to basic 발표자료
w3c 2017 - WebRTC 기술 back to basic 발표자료동명 최
 
m-Station Channel Xpander5 020325
m-Station Channel Xpander5 020325m-Station Channel Xpander5 020325
m-Station Channel Xpander5 020325sbroh
 
글로벌 모바일 네트워크 환경 이해 Understanding global mobile network situation
글로벌 모바일 네트워크 환경 이해 Understanding global mobile network situation글로벌 모바일 네트워크 환경 이해 Understanding global mobile network situation
글로벌 모바일 네트워크 환경 이해 Understanding global mobile network situationJonghyon Sohn
 
웹톡스 - WebTalks 모바일 음성변환 솔루션 제안서
웹톡스 - WebTalks 모바일 음성변환 솔루션 제안서웹톡스 - WebTalks 모바일 음성변환 솔루션 제안서
웹톡스 - WebTalks 모바일 음성변환 솔루션 제안서Justin Shin
 

Similaire à WebRTC 품질 측정 기초 (20)

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

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