mpegtsjs-metric
v1.0.5
Published
An approach to get QoS-related metrics from mpegts/flvjs player
Downloads
7
Readme
What it is
- An approach to get QoS-related metrics from mpegts.js/flv.js player.
- Compatible with both mpegts.js/flv.js libraries.
- Only applicable to MSEPlayer
Install And Usage
npm i mpegtsjs-metric
import EnableQoS from 'mpegtsjs-metric' // enable mpegts.js/flv.js with qos-related metrics EnableQoS() // get metric from the MSE player player.getMetric.then(metric=>{ // do something }).catch(err=>{ // fail to get metric })
Metrics
- The resolved object
metric
includes the following properties:
| property | explanation |
| :----------------: | :----------------------------------------------------------: |
| buffered | An array that containes multiple objects, each of them has start and end property, representing the startTime and endTime of the current video buffer |
| duration | The duration of the video source. Infinity when the source is live. |
| currentTime | The current playback time of the video |
| mimeTypes | Audio/Video type and Codec. Undetected when there is no video/audio |
| currentKBps | Current speed of pulling network stream KB/s |
| mediaInfo | Meta/video/audio Info of the current media |
| stashUsed | Current stash size used to handle media data KB |
| stashSize | Total stash size used to handle media data KB |
| totalVideoFrames | mdn |
| droppedVideoFrames | mdn |
| resolution | The resolution of the video, string format eg. 1024x960
|
| prestoredTime | The buffered time ahead of current playback time |
| presentedFrames | A count of the number of frames submitted for composition |
| presentationTime | The time at which the user agent submitted the frame for composition |
| frameRate | FPS |
- Most of above are retrieved from mpegts.js and Web APIs, and this npm package provides a unified interface.
Build
- npm run build
Issue
- Compatibility
- mpegts.js/flv.js
requestVideoFrameCallback
API