Note: A lot of things described in here is still Work in Progress and is expected to change over time.
== Introduction ==
This efforts aims at building tools and frameworks for analyzing audio and video
configurations in order to analyze the behavior of WebRTC implementation in the firefox.
== Scope (WIP) ==
Following is wishlist of functionalities that the framework must be able to support
eventually.
# Audio and Video Quality Analysis
## Quantitative measurements
## Qualitative measurements
#Latency Impact Analysis
## End to End Latency
## Latency impacts due to local processing
## Latency impacts under simulated constrained network conditions
#RTCP based analysis
#Codec Configuration variability analysis
#Hardware and Platform variability analysis
== Background ===== Typical WebRTC Media Pipeline===
Below picture captures various components involved in the flow of
media captured from mic/camera till it gets transported. The reverse direction
Not to forget, the pipeline doesn't capture impacts of latency induced due to
network bandwidth, latency and congestion scenarios.
=== Scope ===
Following is wishlist of functionalities that the framework must be able to support
eventually.
# Audio and Video Quality Analysis
## Quantitative measurements
## Qualitative measurements
#Latency Impact Analysis
## End to End Latency
## Latency impacts due to local processing
## Latency impacts under simulated constrained network conditions
#RTCP based analysis
#Codec Configuration Variability Analysis
#Hardware and Platform Variability Analysis
== Ongoing Work ==
== Audio Performance Framework. ==
{{bug|901831}} is ongoing effort to provide minimal components that serves as a good starting point
for carrying out Peer Connection audio quality analysis as part of Mozilla's Talos framework
Below picture captures the test setup for reporting Perceptual Evaluation of Speech Quality (PESQ)
scores for audio played through Peer Connection.
== Peer Connection Audio Quality ==
Having looked at some background information, let'
[[File:AudioPerf-Setup.png|650px]]
The idea here is to compute PESQ scores between an input audio file fed into the local Peer Connection and
output audio audio file recorded at the play-out of the remote Peer Connection in a fully automated fashion.
Following sub-sections explain in details the various components for this setup.
=== Talos ===
<a_fcknotitle="true" href="https://wiki.mozilla.org/Buildbot/Talos"> Talos </a>
=== MozCaptureStream and Peer Connection ===
=== Audio Tools - PulseAudio, Sox, PESQ ===
=== Summary ===
== Open Issues ==
Analysis of tools and techniques for measuring WebRTC Audio Performance.