Dolby.io WebRTC Statistics - v1.0.4
    Preparing search index...

    Dolby.io WebRTC Statistics - v1.0.4

    Build Package Build Documentation Publish Package npm License

    Dolby OptiView WebRTC Statistics

    This project is a library to use to parse WebRTC statistics.

    Run the following npm command to install the package @dolbyio/webrtc-stats into your project:

    npm install @dolbyio/webrtc-stats
    

    A WebRTCStats object needs to be created to start a WebRTC statistics collection. It requires some settings to configure how you want the collection to work. First, import the WebRTCStats definition.

    import { WebRTCStats } from '@dolbyio/webrtc-stats';
    

    Create the collection object like this example:

    const collection = new WebRTCStats({
    getStats: () => {
    // Get the raw WebRTC statistics from the web browser
    },
    getStatsInterval: 1000,
    includeRawStats: true,
    });

    Start the collection with the start() function.

    collection.start();
    

    Stop the collection with the stop() function.

    collection.stop();
    

    After starting the collection, the stats event is triggered when the WebRTC statistics have been collected and parsed.

    import { OnStats } from '@dolbyio/webrtc-stats';

    collection.on('stats', (event: OnStats) => {
    console.log(event);
    });

    The error event is triggered when an error happens during the collection or the parsing of the WebRTC statistics.

    collection.on('error', (reason: string) => {
    console.error(reason);
    });

    Example on how to start a statistics collection from the Dolby OptiView SDK.

    import { WebRTCStats, OnStats } from '@dolbyio/webrtc-stats';
    import { Director, Publish } from '@millicast/sdk';

    const PUBLISHER_TOKEN = '';
    const STREAM_NAME = '';

    const tokenGenerator = () =>
    Director.getPublisher({
    token: PUBLISHER_TOKEN,
    streamName: STREAM_NAME,
    });

    const publisher = new Publish(undefined, tokenGenerator);

    // HERE: Publish a stream to Dolby OptiView

    const collection = new WebRTCStats({
    getStatsInterval: 1000,
    getStats: () => {
    return publisher.webRTCPeer.getRTCPeer().getStats();
    },
    });

    // The stats event is triggered after each interval has elapsed
    collection.on('stats', (event: OnStats) => {
    console.log(event);
    });

    // Start the statistics collection
    collection.start();

    You can also print the logs in the console and select the log level by using the following code.

    import { Logger } from '@dolbyio/webrtc-stats';

    Logger.useDefaults({
    defaultLevel: Logger.TRACE,
    });

    Run tests:

    npm run test
    

    Create distribution package:

    npm run build
    

    The documentation is built on TypeDoc, to generate the doc, run the following command. You will find the HTML files in the docs folder.

    npm run docs