0.2.2 • Published 2 years ago

stats-peerconnection v0.2.2

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

stats-peerconnection

npm npm bundle size

Collection of statistics from peerConnection

Install

npm

npm install stats-peerconnection

yarn

yarn add stats-peerconnection

Usage

import StatsPeerConnection from '@vinteo/stats-peerconnection';

const handleCollectStatistics = (statistics) => {};

const statsPeerConnection = new StatsPeerConnection();

const startCollect = (peerConnection: RTCPeerConnection) => {
  resetCollect();
  statsPeerConnection.start(peerConnection);
  statsPeerConnection.onCollected(handleCollectStatistics);
};

const resetCollect = () => {
  statsPeerConnection.reset();
};

const stopCollect = () => {
  statsPeerConnection.stop();
  statsPeerConnection.offCollected(handleCollectStatistics);
};

const restart = (peerConnection: RTCPeerConnection) => {
  stopCollect();
  resetCollect();
  startCollect(peerConnection);
};

Example of received data from

{
  "OUTBOUND_AUDIO_TYPE": [
    {
      "id": "RTCOutboundRTPAudioStream_7680843",
      "type": "OUTBOUND_AUDIO_TYPE",
      "trackIdentifier": "531c455c-ff2d-4001-ac80-0b336598b32a",
      "_values": [
        {
          "key": "timestamp",
          "value": "1642515711347.853"
        },
        {
          "key": "packetsSent",
          "value": "4852"
        },
        {
          "key": "codec",
          "value": "audio/opus"
        },
        {
          "key": "bitrate",
          "value": "53kbps"
        }
      ]
    }
  ],
  "INBOUND_AUDIO_TYPE": [
    {
      "id": "RTCInboundRTPAudioStream_1094410902",
      "type": "INBOUND_AUDIO_TYPE",
      "trackIdentifier": "5ef6f97b-0435-4c8b-9a7c-0b29ede244f5",
      "_values": [
        {
          "key": "timestamp",
          "value": "1642515711347.853"
        },
        {
          "key": "packetsReceived",
          "value": "4842"
        },
        {
          "key": "packetsLost",
          "value": "10"
        },
        {
          "key": "percentagePacketsLost",
          "value": "0.2%"
        },
        {
          "key": "percentagePacketsLostRecent",
          "value": "0%"
        },
        {
          "key": "codec",
          "value": "audio/opus"
        },
        {
          "key": "bitrate",
          "value": "65kbps"
        }
      ]
    }
  ],
  "OUTBOUND_VIDEO_TYPE": [
    {
      "id": "RTCOutboundRTPVideoStream_2989932149",
      "type": "OUTBOUND_VIDEO_TYPE",
      "trackIdentifier": "f9b8b710-92fc-4d01-9faf-e09f7c519f7c",
      "_values": [
        {
          "key": "timestamp",
          "value": "1642515711347.853"
        },
        {
          "key": "packetsSent",
          "value": "15985"
        },
        {
          "key": "codec",
          "value": "video/H264"
        },
        {
          "key": "bitrate",
          "value": "1123kbps"
        },
        {
          "key": "resolution",
          "value": "1280x720"
        }
      ]
    }
  ],
  "INBOUND_VIDEO_TYPE": [
    {
      "id": "RTCInboundRTPVideoStream_153525536",
      "type": "INBOUND_VIDEO_TYPE",
      "trackIdentifier": "8c643655-8ba5-438a-b3e3-0998bc154c71",
      "_values": [
        {
          "key": "timestamp",
          "value": "1642515711347.853"
        },
        {
          "key": "packetsReceived",
          "value": "1281"
        },
        {
          "key": "packetsLost",
          "value": "5"
        },
        {
          "key": "percentagePacketsLost",
          "value": "0.4%"
        },
        {
          "key": "percentagePacketsLostRecent",
          "value": "2%"
        },
        {
          "key": "codec",
          "value": "video/H264"
        },
        {
          "key": "bitrate",
          "value": "379kbps"
        },
        {
          "key": "resolution",
          "value": "1280x720"
        }
      ]
    },
    {
      "id": "RTCInboundRTPVideoStream_414471737",
      "type": "INBOUND_VIDEO_TYPE",
      "trackIdentifier": "dualvideo4",
      "_values": [
        {
          "key": "timestamp",
          "value": "1642515711347.853"
        },
        {
          "key": "packetsReceived",
          "value": "1893"
        },
        {
          "key": "packetsLost",
          "value": "0"
        },
        {
          "key": "percentagePacketsLost",
          "value": "0%"
        },
        {
          "key": "percentagePacketsLostRecent",
          "value": "0%"
        },
        {
          "key": "codec",
          "value": "video/H264"
        },
        {
          "key": "bitrate",
          "value": "851kbps"
        },
        {
          "key": "resolution",
          "value": "1280x720"
        }
      ]
    }
  ]
}

Run tests

npm test

Maintainer

Krivega Dmitriy

Contributing

Contributions, issues and feature requests are welcome!Feel free to check issues page. You can also take a look at the contributing guide.

📝 License

Copyright © 2020 Krivega Dmitriy. This project is MIT licensed.

0.2.1

2 years ago

0.2.2

2 years ago

0.1.0

2 years ago

0.2.0

2 years ago

0.0.6

2 years ago

0.0.5

2 years ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago