All Projects → clappr → clappr-stats

clappr / clappr-stats

Licence: BSD-3-Clause license
A clappr plugin to report playback statuses (timers: session, buffering, watch and counters: play, pause, error, fps)

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to clappr-stats

v-clappr
👏🏻Vue.js wrapper for Clappr media player
Stars: ✭ 18 (-55%)
Mutual labels:  video-player, clappr-player
clappr-core
Core components of the Clappr player architecture
Stars: ✭ 41 (+2.5%)
Mutual labels:  video-player
NaturalGroundingPlayer
Sequence videos based on their energy readings
Stars: ✭ 46 (+15%)
Mutual labels:  video-player
voronoi-video
Fragmented HTML5 using the Voronoi diagram
Stars: ✭ 13 (-67.5%)
Mutual labels:  video-player
danmaku-player
An HTML5 danmaku video player for real-time image processing using WebGl and Web Components.融合了webgl和web components的实时图像处理弹幕播放器
Stars: ✭ 40 (+0%)
Mutual labels:  video-player
DoubleTapPlayerView
YouTube's Fast-Forward-Rewind double tapping feature built on top of ExoPlayer
Stars: ✭ 81 (+102.5%)
Mutual labels:  video-player
SAVY
SAVY Player provides service to watch local videos with in a synchronized way.
Stars: ✭ 15 (-62.5%)
Mutual labels:  video-player
advene
Official Advene repository
Stars: ✭ 32 (-20%)
Mutual labels:  video-player
niki
Media Player, DLNA, Music, Video and Streaming
Stars: ✭ 14 (-65%)
Mutual labels:  video-player
Vudit
A file viewer for Android
Stars: ✭ 40 (+0%)
Mutual labels:  video-player
flutter subtitle wrapper
This is an subtitle package for flutter video player.
Stars: ✭ 24 (-40%)
Mutual labels:  video-player
beyondplayer
BeyondPlayer - Video player for English learner
Stars: ✭ 183 (+357.5%)
Mutual labels:  video-player
ZoomableVideo
PinchZoom on TextureView while playing your videos
Stars: ✭ 17 (-57.5%)
Mutual labels:  video-player
MetalPlayer
A video player using Metal.
Stars: ✭ 68 (+70%)
Mutual labels:  video-player
dokuwiki-plugin-vshare
Plugin to easily embed videos from various video sharing sites into DokuWiki
Stars: ✭ 15 (-62.5%)
Mutual labels:  video-player
vue-xgplayer
xgplayer component in vue
Stars: ✭ 19 (-52.5%)
Mutual labels:  video-player
Flyleaf
Media Player .NET Library for WPF/WinForms (based on FFmpeg/DirectX)
Stars: ✭ 323 (+707.5%)
Mutual labels:  video-player
deplayer
Decentralized mediaplayer which runs entirely in the browser.
Stars: ✭ 14 (-65%)
Mutual labels:  video-player
vcplayerbot
Play songs directly in telegram voice chats.
Stars: ✭ 48 (+20%)
Mutual labels:  video-player
oplayer
👾 react native video player for expo
Stars: ✭ 25 (-37.5%)
Mutual labels:  video-player

npm version license

Usage

You can use it from JSDelivr https://cdn.jsdelivr.net/npm/@clappr/stats-plugin@latest/dist/clappr-stats.min.js or as a npm package.

<script>
    var player = new Clappr.Player({
      parentId: '#player',
      plugins: [ClapprStats],
      source: 'http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4',
      height: 360,
      width: 640,
      clapprStats: {
        // optional: time in miliseconds for each report.
        // default: 5000
        runEach: 5000,
        // optional: callback function.
        // default: console.log
        onReport: (metrics) => {console.log(metrics)},
        // Fire PERCENTAGE_EVENT when video complete some percentage.
        // default: []
        onCompletion: [10, 20, 55, 100],
        // optional: provide an img uri hosted at the same place as your farm
        // or near of it prefferable 1x1px, without caching.
        // default: none
        uriToMeasureLatency: 'http://www.example.com/images/tv/pixel-1x1-red.gif',
        // optional: provide some assets uris hosted at the same place as your farm
        // or near of it prefferable in an uncompressible file format, without caching.
        // default: none
        urisToMeasureBandwidth: [
          {url: 'http://www.example.com/images/tv/500kb.jpg', timeout: 3000},
          {url: 'http://www.example.com/images/tv/1mb.jpg', timeout: 6000},
          {url: 'http://www.example.com/images/tv/5mb.jpg', timeout: 12000}
        ],
        // optional: number of reports between two consecutive bandwidth tests.
        // default: 10
        runBandwidthTestEvery: 10
      }
    })
</script>

Metrics

{
  counters: {
    play: 0, // number of plays
    pause: 0, // number of pauses
    error: 0, // number of errors
    buffering: 0, // number of bufferings
    decodedFrames: 0, // number of decoded frames (when available)
    droppedFrames: 0, // number of dropped frames (when available)
    fps: 0, // frames per second (when available)
    changeLevel: 0, // number of adaptative bitrate changes
    seek: 0, // number of seeks
    fullscreen: 0, // number of times that user went to fullscreen
    dvrUsage: 0 // number of time that user used dvr seek (at live stream)
  },
  timers: {
    startup: 0, // time (ms) since user click/touch play (intent to play) to the play
    watch: 0, // time (ms) of watched content (does not include pause and buffering)
    pause: 0, // time (ms) of paused content
    buffering: 0, // time (ms) of buffering
    session: 0, // time (ms) of session (sum of watch+pause+buffering)
    latency: 0, // time (ms) of latency between user and the provided uri
  },
  extra: {
    playbackName: '', // playback name (hls, html5_video, flashls)
    playbackType: '', // vod or live
    buffersize: 0, // buffersize in ms
    duration: 0, // duration time in ms
    currentTime: 0, // current time in ms
    bitratesHistory: [], // the bitrates changes history
    bitrateWeightedMean: 0, // bitrate weighted mean (bps)
    bitrateMostUsed: 0, // most used (based on time) bitrate (bps)
    watchHistory: [], // an array of an array of watched range time ex: [0, 2200]
    watchedPercentage: 0, // % of watched time
    bufferingPercentage: 0, // % of buffering time
    bandwidth: 0, // user bandwidth (bps)
  }
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].