Media/WebRTC Audio Perf: Difference between revisions
No edit summary |
|||
| Line 1: | Line 1: | ||
Analysis of tools and techniques for measuring WebRTC Audio Performance. | Analysis of tools and techniques for measuring WebRTC Audio Performance. | ||
This page is under construction. please come back later for more complete information | |||
==Background== | ==Background== | ||
=== Chrome Audio Perf == | === Chrome Audio Perf == | ||
Audio Processing Per 10ms Analysis | Audio Processing Per 10ms Analysis | ||
Revision as of 22:54, 27 October 2013
Analysis of tools and techniques for measuring WebRTC Audio Performance. This page is under construction. please come back later for more complete information
Background
= Chrome Audio Perf
Audio Processing Per 10ms Analysis Test Code: process_test.c Details:
1. Uses WebRTC AudioProcessingModule to simulate mic to render audio processing. 2. AudioEngine Configuration touch points : Sample Rate, Input and Output Channels, Reverse Channels, Echo Cancellation, Gain Control, Noise Suppression, Voice Activity Detection, Level Metrics, Delay, Drift Compensation,Echo Metrics
Logic:
For every Input AudioFrame
time ProcessStream()
also apply component configuration
For every Output AudioFrame
time AnalyzeReverseStream()
Calculate Execution Time as average for all the 10ms frames processed and analyzed.
Audio Quality Voice Engine - E2E Code:run_audio_test.py
third_party/webrtc/tools/e2e_quality
This uses PulseAudio to setup virtual devices followed by comparison tool to measure the quality. This is based on VoiceEngine loopback call
WebRTC Recording Time
Code: webrtc_audio_device_unittest.cc
This uses VoEMediaProcess::Process() callback to act as interceptor
to audio frames at the recording path to time the recoding setup time
WebRTC Playout Setup Time This uses VoEMediaProcess::Process() callback to act as interceptor to audio frames before playback to time the setup time
WebRTC Loopback With Signal Processing WebRTC Loopback Without Signal Processing Both the tests uses loopback call with/without APM enabled. this loopback runs for 100 AudioFrames.