Giter Club home page Giter Club logo

opentok-subscriber-mos's Introduction

OpenTok MOS Estimator

Background

Each OpenTok client SDK includes network stats callbacks on the subscriber to allow programmatic access to a subset of the WebRTC getStats dictionary. While the stats seem interesting on their own, this project aims to digest available getStats data into a single, simple to use metric, a numerical 1-5 estimate of the mean opinion score (MOS) of a given subscriber. This data differs from other existing tools by being made available on-demand, in real-time, and on the endpoint, rather than through a server-side data process.

Usage

Specific usage details for each platform SDK are available in respective subproject directories. Overall, the workflow is the same for each -- a new module is introduced to either subtype or attach to a normal OpenTok Subscriber.

Notes

  • Scoring algorithm is loosely based on the ITU-T E-model.

  • Audio scores are calculated as primarily a function of packet loss, and RTT is gathered when possible, depending on platform availability.

  • Video scores are calculated primarily as a function of bitrate, where target bitrates are considered based on the assumed resolution of received video. Low resolution video does not currently incur a score penalty, although there are compelling reasons for doing so.

  • Both scores are calculated periodically (configurable), and a requested score is given as the mean of all calculated scores. An overall score for the subscriber is the minimum of the two audio/video scores, or whatever is available for the stream.

  • Streams with hasAudio or hasVideo == false will not have scores calculated for those tracks, and will not take a penalty. In these cases, the only available score is presented as the overall score for the subscriber.

opentok-subscriber-mos's People

Contributors

asatour avatar

Stargazers

 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.