{"_id":"@camtv/video-player","_rev":"5-dd280cc94b25736d2c35b6719651a056","name":"@camtv/video-player","dist-tags":{"latest":"2020.8.5"},"versions":{"1.1.1":{"name":"@camtv/video-player","version":"1.1.1","description":"Video player for hls, youtube, and video files","keywords":["video","player","hls","youtube"],"author":{"name":"Stefanone_91","email":"stefano.camtv@gmail.com"},"homepage":"https://github.com/camtv/video-player#readme","license":"ISC","repository":{"type":"git","url":"git+https://github.com/camtv/video-player.git"},"main":"./dist/video-player.js","scripts":{"purge":"rimraf dist","test":"echo \"Error: run tests from root\" && exit 1","dev:demo":"webpack-dev-server --config webpack/demo.babel.js","dev:module":"webpack --config webpack/module.babel.js","dev:standalone":"webpack --config webpack/standalone.babel.js","dev":"npm-run-all -p dev:*","build:lang":"vjslang --dir dist/lang","build:demo":"cross-env NODE_ENV=production webpack --mode production --config webpack/demo.babel.js","build:module":"cross-env NODE_ENV=production webpack --mode production --config webpack/module.babel.js","build:standalone":"cross-env NODE_ENV=production webpack --mode production --config webpack/standalone.babel.js","build":"npm run purge && npm-run-all -p build:*","version":"auto-changelog -p && git add CHANGELOG.md","prepublishOnly":"npm run build","publish":"node ./build/gh-release.js"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.9.0","@babel/plugin-proposal-class-properties":"^7.8.3","@babel/plugin-transform-runtime":"^7.9.0","@babel/preset-env":"^7.9.5","@babel/register":"^7.9.0","@mdi/js":"^5.1.45","auto-changelog":"^2.0.0","babel-eslint":"^10.1.0","babel-loader":"^8.1.0","bestzip":"^2.1.5","cross-env":"^7.0.2","css-loader":"^3.5.2","eslint":"^6.8.0","eslint-loader":"^4.0.0","eslint-plugin-babel":"^5.3.0","eslint-plugin-import":"^2.20.2","gh-release":"^3.5.0","mini-css-extract-plugin":"^0.9.0","node-sass":"^4.13.1","npm-run-all":"^4.1.5","optimize-css-assets-webpack-plugin":"^5.0.3","postcss-loader":"^3.0.0","prompt":"^1.0.0","remark-parse":"^8.0.2","remark-stringify":"^8.0.0","sass-loader":"^8.0.2","style-loader":"^1.1.4","svg-url-loader":"^5.0.0","terser-webpack-plugin":"^2.3.5","unified":"^9.0.0","videojs-languages":"^2.0.0","webpack":"^4.42.1","webpack-bundle-analyzer":"^3.7.0","webpack-cli":"^3.3.11","webpack-dev-server":"^3.10.3"},"dependencies":{"video.js":"^7.7.5","videojs-contrib-quality-levels":"^2.0.9"},"gitHead":"1a891e8598819f1b04a854c6a9fdadb3cfdfc49a","bugs":{"url":"https://github.com/camtv/video-player/issues"},"_id":"@camtv/video-player@1.1.1","_nodeVersion":"12.13.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-7pD/0IE28PBVSN10582q3UzjsR97iU+F3Mc/PcQzFMl7ngJGUlsNJS8MZtIBkZRJK2eAcHfin9U48Uiel4DQ9g==","shasum":"c387f6158e1c3f6664b1df79c1235a2b9059ed56","tarball":"https://registry.npmjs.org/@camtv/video-player/-/video-player-1.1.1.tgz","fileCount":84,"unpackedSize":3671431,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJetBmkCRA9TVsSAnZWagAA4zUP/26Rei340V0uQ86dYZAD\nt5jcdRDVV6ovMZSTpZ8G/m3FN4sOWEmY+AM66bvlGIXn0uxHB3MIT0LPyRNY\nKiDrhIYoBXLlEdUQmIxJzfg7px69nQycAsfyW5vO/wCnrxbZ/rQ7Mpp/woJG\nknTJGjQJ1xHzdhdL5gPhqwBjL5VbUBKEMQqGxlcyuXfmj60jxuNJARD8iBkT\n43DHOXddMzqOiBOn1TCHkjccA3uf4RmnvAjE/rrDMh22WIp/mDTZJaNsPn2l\nusgJVnk8oFwiROdPC92kqqfDI6HLcyseZb25OG0A/hjI3iivtrpYkeueeeJJ\nXo70HJ0ZZA+XReAZmL++PBT4YeCQiBg/Y4ZFsqMYvk4Dnl1gnfjPMOBRjBAV\n+E9HuXN8FLk33UnhIV052WTiCpR0aSdJgbxOdlf1Ff+O/u9boaQJ5tSiuj5s\nKaCy/cFDFQ9mJAmtrPw74E+xWnczgzMJhrIP2P8Kjse7CcUHNZVJO4PKpAH2\nFc8gRmFdoCDbx7IL8Jajw9ZrZlgDgFyReAYo3D33OsN3M15OBT0zfutPalEM\nAgejOnl2HLRUMQ/BFshNlS3wiidHAyQj+vlYE7kA1cA0jPTxm93+UOtbsxzS\np7yAoyWHnSVrOPBC5yk027RoiTQnDJtwjLlwQvrseT/JUmlbUQ4EyOAhguo0\ny4oy\r\n=25SF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEzMJ0sgxnz2k6mvs8aLZsQfu/Hu6squqqsxZdtKGCSMAiEAjscM0Ez37wiuk8HxTG2YhWXsSa193tjjlOL7i6oH+Po="}]},"maintainers":[{"name":"stefanone_91","email":"stefanone_91@hotmail.it"},{"name":"ivpcode","email":"ivpcode@gmail.com"}],"_npmUser":{"name":"stefanone_91","email":"stefanone_91@hotmail.it"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/video-player_1.1.1_1588861348205_0.48298368125847224"},"_hasShrinkwrap":false},"2020.8.5":{"name":"@camtv/video-player","version":"2020.8.5","description":"Video player for hls, youtube, and video files","keywords":["video","player","hls","youtube"],"author":{"name":"CamTV"},"homepage":"https://github.com/camtv/video-player#readme","license":"ISC","repository":{"type":"git","url":"git+https://github.com/camtv/video-player.git"},"main":"./dist/video-player.js","scripts":{"purge":"rimraf dist","test":"echo \"Error: run tests from root\" && exit 1","dev:demo":"webpack-dev-server --config webpack/demo.babel.js","dev:module":"webpack --config webpack/module.babel.js","dev:standalone":"webpack --config webpack/standalone.babel.js","dev":"npm-run-all -p dev:*","build:lang":"vjslang --dir dist/lang","build:demo":"cross-env NODE_ENV=production webpack --mode production --config webpack/demo.babel.js","build:module":"cross-env NODE_ENV=production webpack --mode production --config webpack/module.babel.js","build:standalone":"cross-env NODE_ENV=production webpack --mode production --config webpack/standalone.babel.js","build":"npm run purge && npm-run-all -p build:*","version":"auto-changelog -p && git add CHANGELOG.md","prepublishOnly":"npm run build","publish":"node ./build/gh-release.js"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.9.0","@babel/plugin-proposal-class-properties":"^7.8.3","@babel/plugin-transform-runtime":"^7.9.0","@babel/preset-env":"^7.9.5","@babel/register":"^7.9.0","@mdi/js":"^5.1.45","auto-changelog":"^2.0.0","babel-eslint":"^10.1.0","babel-loader":"^8.1.0","bestzip":"^2.1.5","cross-env":"^7.0.2","css-loader":"^3.5.2","eslint":"^6.8.0","eslint-loader":"^4.0.0","eslint-plugin-babel":"^5.3.0","eslint-plugin-import":"^2.20.2","gh-release":"^3.5.0","mini-css-extract-plugin":"^0.9.0","node-sass":"^4.13.1","npm-run-all":"^4.1.5","optimize-css-assets-webpack-plugin":"^5.0.3","postcss-loader":"^3.0.0","prompt":"^1.0.0","remark-parse":"^8.0.2","remark-stringify":"^8.0.0","sass-loader":"^8.0.2","style-loader":"^1.1.4","svg-url-loader":"^5.0.0","terser-webpack-plugin":"^2.3.5","unified":"^9.0.0","videojs-languages":"^2.0.0","webpack":"^4.42.1","webpack-bundle-analyzer":"^3.7.0","webpack-cli":"^3.3.11","webpack-dev-server":"^3.10.3"},"dependencies":{"video.js":"^7.7.5","videojs-contrib-quality-levels":"^2.0.9"},"gitHead":"1a891e8598819f1b04a854c6a9fdadb3cfdfc49a","bugs":{"url":"https://github.com/camtv/video-player/issues"},"_id":"@camtv/video-player@2020.8.5","_nodeVersion":"12.13.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-pkdT5SluMoh8Hni5laxEFukHCnVmK8urbjQNCYxYrhPwTQ8/1SAPSHG1+I2pe6qGdVkg54pHeXCZt+SsWKAazQ==","shasum":"e50e0d2196a6e16f66803a7c893bb215cef5799a","tarball":"https://registry.npmjs.org/@camtv/video-player/-/video-player-2020.8.5.tgz","fileCount":84,"unpackedSize":3677743,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJetVPLCRA9TVsSAnZWagAA0f4P/0Y1eIlWbt+V9y2FEJza\nc1jc6ucxJD9/HXl+RnK8n101ys8U94O7GGqs1zKoLNMvZ8qtfD7DrtoK+PtD\nrpdzklZ8D16/iKY18nEsdj431SLwC1OPnfaH35hhrASOENF8ZpWwbJP3U2KY\nkuF6V1FEUL9XIYCDpmpGDlM08C5NrvcCnPsnMNk7tmNl0fv4RECG0grpR1Dk\nEXhEVNg4qKg7k/rZdh4s3N46HoDSkq4Bk9zvsF1hm40SNJ7yYNnzRnpkgmRq\np9lT6F9KdSyYG6HBA9xxcs1XhvrfXfg+R0QXcZHd4LXaPqRG9e+DwV6QnbLc\noykfCZyxA7OjLJMISyfsJYU8koolzT0zwKta+snWtCb4YVRGlMR25DGhDJ3f\nPMWm9isC53F0gzV/6T8PooI/0v8Wv3QVWIm/2B2ju7O/jYJvbFgiYHML5aLy\n4OiRu7bilcApeN1y5as7f14NPYVZO/YdR/j4ScKnhSsKeqEgazK5AIv0hkd4\notpXi2qQ5VDY9M++m5dx1HtQzQApz32NjvHe01okiCatyHYrgdzkE6gLywmE\namgkL5YX/g/B4gFUCiwh8+bZF9yTdvgrRKKhl4ff9KWPOs9bt6ZcYnetkc4I\naa81+eTAVDnTpC1PKF3mFITNjhNgwzZtaRQLgVJ1YSw4r1B97M8LN3bsucA5\nZHZp\r\n=nT3z\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICRqzt3UEKz4fQfCxOqrgEnqhpQ4GsVx0zuFF6wIXiMPAiBOYPKu3FsCBG5//j/CfL4I/yfZe9lDm/RlZGFjOkIdGQ=="}]},"maintainers":[{"email":"ivpcode@gmail.com","name":"ivpcode"},{"email":"releases.camtv@gmail.com","name":"releases.camtv"},{"email":"stefanone_91@hotmail.it","name":"stefanone_91"}],"_npmUser":{"name":"releases.camtv","email":"releases.camtv@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/video-player_2020.8.5_1588941771386_0.2674911931516002"},"_hasShrinkwrap":false}},"time":{"created":"2020-05-07T14:22:27.920Z","1.1.1":"2020-05-07T14:22:28.410Z","modified":"2022-04-04T21:35:30.100Z","2020.8.5":"2020-05-08T12:42:51.546Z"},"maintainers":[{"email":"ivan.camtv@gmail.com","name":"camtv.dev"},{"email":"releases.camtv@gmail.com","name":"releases.camtv"},{"email":"ivpcode@gmail.com","name":"ivpcode"}],"description":"Video player for hls, youtube, and video files","homepage":"https://github.com/camtv/video-player#readme","keywords":["video","player","hls","youtube"],"repository":{"type":"git","url":"git+https://github.com/camtv/video-player.git"},"author":{"name":"CamTV"},"bugs":{"url":"https://github.com/camtv/video-player/issues"},"license":"ISC","readme":"<h1 align='center'>\r\n  Cam.TV Video Player\r\n</h1>\r\n\r\n<p align='center'>\r\n  A video player component for playing a variety of URLs, including HLS and YouTube. It can be installed via NPM or as a standalone library.\r\n</p>\r\n\r\n### Usage\r\n\r\n#### Installation through NPM\r\n\r\n```bash\r\nnpm install @camtv/video-player --save\r\n```\r\n\r\n```js\r\nimport { RenderVideoCamTV, PlayerManager } from \"@camtv/video-player\";\r\n\r\nconst player = RenderVideoCamTV({\r\n\tid: \"my-container-id\",\r\n\tvideoURL: \"https://camtv.ams3.cdn.digitaloceanspaces.com/original/CID000016/video/VID0048A6\",\r\n\tposterURL: \"https://media.cam.tv/CID000016/video/VID0048A6/cover.jpg?t=1561462730\",\r\n\t// ...other options\r\n});\r\nplayer.on(\"init\", () => {\r\n\tconsole.log(\"initialized!\");\r\n});\r\n```\r\n\r\n#### Installation as Standalone\r\n\r\n```html\r\n<script src=\"https://code.jquery.com/jquery-2.2.4.min.js\" integrity=\"sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=\" crossorigin=\"anonymous\"></script>\r\n<script src=\"video-player.standalone.min.js\"></script>\r\n<link href=\"video-player.standalone.min.css\" rel=\"stylesheet\" />\r\n\r\n<script>\r\n\tvar player = RenderVideoCamTV({\r\n\t\tid: \"my-container-id\",\r\n\t\tvideoURL: \"https://camtv.ams3.cdn.digitaloceanspaces.com/original/CID000016/video/VID0048A6\",\r\n\t\tposterURL: \"https://media.cam.tv/CID000016/video/VID0048A6/cover.jpg?t=1561462730\",\r\n\t\t// ...other options\r\n\t});\r\n\tplayer.on(\"init\", () => {\r\n\t\tconsole.log(\"initialized!\");\r\n\t});\r\n</script>\r\n```\r\n\r\n### Configuration\r\n\r\nThe player can be configured with an object, as you can see below\r\n\r\n```js\r\nvar player = RenderVideoCamTV({\r\n\tid: \"\",\r\n\tvideoURL: \"\",\r\n\tposterURL: \"\",\r\n\tautoplay: false,\r\n\tmuted: false,\r\n\tpreload: \"auto\",\r\n\tsmall: false,\r\n\tbookmarks: false,\r\n\toverlays: false,\r\n\theaders: {\r\n\t\tAuthorization: \"Bearer xxxxx\",\r\n\t},\r\n\tfloatingControls: {\r\n\t\tplayToggle: true,\r\n\t\taudioToggle: {\r\n\t\t\trestart: false,\r\n\t\t\thtml: \"\",\r\n\t\t},\r\n\t},\r\n\tcontrols: {\r\n\t\tplayToggle: true,\r\n\t\tseekButtons: {\r\n\t\t\tforward: 30,\r\n\t\t\tback: 30,\r\n\t\t},\r\n\t\tvolumePanel: {\r\n\t\t\tinline: false,\r\n\t\t\tvertical: false,\r\n\t\t},\r\n\t\tcurrentTimeDisplay: true,\r\n\t\ttimeDivider: true,\r\n\t\tdurationDisplay: true,\r\n\t\trotation: false,\r\n\t\tvideoFit: true,\r\n\t\tsourceMenu: true,\r\n\t\tfullscreenToggle: true,\r\n\t\tpictureInPictureToggle: false,\r\n\t},\r\n});\r\n```\r\n\r\n#### Main video parameters\r\n\r\nThe first parameters defines all base options about video, such as autoplay or preload.\r\nYou can find all possible values in the table below:\r\n\r\n| Name               | Props       | Default | Description                                                                                |\r\n| ------------------ | ----------- | ------- | ------------------------------------------------------------------------------------------ |\r\n| `id`               | string      | none    | Container id                                                                               |\r\n| `videoURL`         | string      | none    | Video URL                                                                                  |\r\n| `posterURL`        | string      | none    | Cover URL                                                                                  |\r\n| `autoplay`         | bool/string | false   | true, false, \"muted\"                                                                       |\r\n| `muted`            | bool        | false   | true, false                                                                                |\r\n| `preload`          | string      | auto    | \"auto\", \"metadata\", \"none\"                                                                 |\r\n| `small`            | bool        | false   | Small controls                                                                             |\r\n| `bookmarks`        | bool        | false   | Stores and shows bookmarks dialog which allow the resume of video                          |\r\n| `overlays`         | bool/array  | false   | Overlays object. Includes specific controls' elements. To disable controlBar use false     |\r\n| `headers`          | object      | null    | Http request headers                                                                       |\r\n| `floatingControls` | bool/object | object  | Floating controls object. Includes specific controls that are not inside the controls' bar |\r\n| `controls`         | bool/object | object  | Controls object. Includes specific controls' elements. To disable controlBar use false     |\r\n\r\n#### Floating controls\r\n\r\nThis options refers to all controls that are not inside the controls' bar, such as big play button or volume toggle button.\r\nSetting floatingControls to false will disable all floating buttons.\r\n\r\nTo enable fine tuning, you have to set an object. Here, you can find all the options:\r\n\r\n| Name          | Props       | Description                                                                                                                     |\r\n| ------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------- |\r\n| `playToggle`  | bool        | Show play/pause big center button.                                                                                              |\r\n| `audioToggle` | bool/object | Show and configure mute/unmute top right button. Object includes restart (restarts video if unmuted), html (inner html content) |\r\n\r\n#### Controls' bar\r\n\r\nThe controls bar can be completely disabled or fine tuned through an object.\r\nTo disable controls' bar you have to set controls: false. This will display only play and mute overlay buttons on the video, but disables entirely the control bar.\r\n\r\nTo enable fine tuning for bar, you have to set an object in order to express wich component you want to show or hide.\r\nHere, you can find all the options:\r\n\r\n| Name                     | Props       | Description                                                                      |\r\n| ------------------------ | ----------- | -------------------------------------------------------------------------------- |\r\n| `playToggle`             | bool        | Show play/puase button.                                                          |\r\n| `seekButtons`            | bool/object | Show and configure seek buttons. Object includes forward: seconds, back: seconds |\r\n| `volumePanel`            | bool/object | Show and configure volume panel.                                                 |\r\n| `currentTimeDisplay`     | bool        | Show played time indicator                                                       |\r\n| `timeDivider`            | bool        | Show / time divider.                                                             |\r\n| `durationDisplay`        | bool        | Show video duration.                                                             |\r\n| `rotation`               | bool        | Show rotation button.                                                            |\r\n| `videoFit`               | bool        | Show video fit (cover/contain) button.                                           |\r\n| `sourceMenu`             | bool        | Show video quality source selector if available by video stream (hls only).      |\r\n| `fullscreenToggle`       | bool        | Show fullscreen button.                                                          |\r\n| `pictureInPictureToggle` | bool        | Show picture-in-picure mode button.                                              |\r\n\r\n#### Overlay elements\r\n\r\nThis options enables some overlay elements during playing, pause, timeupdate or any other event.\r\nThis options inherits from [videojs-overlay library](https://github.com/brightcove/videojs-overlay) and you could have a looke at that options.\r\nThis is basically an array of objects. You can set content (inner html), start/end time in seconds or event, div's classes and optionally alignment\r\n\r\n```js\r\noverlays: [\r\n\t{\r\n\t\tcontent: \"<span>The video is playing</span>\",\r\n\t\tstart: \"play\",\r\n\t\tend: \"pause\",\r\n\t\tclass: \"my-css-class overlayA\",\r\n\t\talign: \"bottom-right\",\r\n\t},\r\n\t{\r\n\t\tcontent: \"<span>The video is paused</span>\",\r\n\t\tstart: \"pause\",\r\n\t\tend: \"play\",\r\n\t\tclass: \"my-css-class overlayE\",\r\n\t\talign: \"top\",\r\n\t},\r\n\t{\r\n\t\tcontent: \"<span>The video is ended</span>\",\r\n\t\tstart: \"ended\",\r\n\t\tend: \"play\",\r\n\t\tclass: \"my-css-class overlayD\",\r\n\t\talign: \"bottom-right\",\r\n\t},\r\n\t{\r\n\t\tcontent: \"<span>The video is 0-40</span>\",\r\n\t\tstart: 0,\r\n\t\tend: 40,\r\n\t\tclass: \"my-css-class overlayB\",\r\n\t\talign: \"top-left\",\r\n\t},\r\n\t{\r\n\t\tcontent: \"<span>The video is 15-30</span>\",\r\n\t\tstart: 15,\r\n\t\tend: 30,\r\n\t\tclass: \"my-css-class overlayC\",\r\n\t\talign: \"bottom-left\",\r\n\t},\r\n];\r\n```\r\n\r\nHere, you can find all the options:\r\n\r\n| Name      | Props      | Default  | Description                        |\r\n| --------- | ---------- | -------- | ---------------------------------- |\r\n| `content` | string     | null     | Html string content                |\r\n| `start`   | int/string | null     | Seconds or events to show overlay. |\r\n| `end`     | int/string | null     | Seconds or events to hide overlay. |\r\n| `class`   | string     | null     | Overlay div's class to merge       |\r\n| `align`   | string     | top-left | Alignment of the balloon.          |\r\n\r\nIf you want to simply show a full-player overlay, seta custom css class and overlay css properties.\r\n\r\n### Methods\r\n\r\nThis is a list of all public methods for player instance.\r\n\r\n| Method                  | Description                                                                                |\r\n| ----------------------- | ------------------------------------------------------------------------------------------ |\r\n| `destroy()`             | Removes player events and instance                                                         |\r\n| `addEvents()`           | Add player events. This is done automatically on player init constructor                   |\r\n| `removeEvents()`        | Removes player events                                                                      |\r\n| `playVideo(seconds)`    | Start playing video. If seconds is passed it start from the given seconds amount           |\r\n| `pauseVideo()`          | Pauses video                                                                               |\r\n| `setMute(toMute)`       | Set mute                                                                                   |\r\n| `getStateVideo()`       | Retrurns the state of video in string format: not_ready, buffering, playing, paused, ended |\r\n| `getBufferPercent()`    | Returns the buffering amount in percent                                                    |\r\n| `getVideoDuration()`    | Returns video total duration if available, zero otherwise                                  |\r\n| `getVideoCurrentTime()` | Returns the number of seconds that have been played.                                       |\r\n| `getFullscreen()`       | Returns if player is in fullscreen                                                         |\r\n| `setFullscreen(val)`    | Enables or disables fullscreen mode                                                        |\r\n| `isInViewport()`        | Returns if player is visible in viewport                                                   |\r\n\r\n### Events and errors handling\r\n\r\nYou can access player events like a jQuery \"on\" / \"off\" method. Replace \"eventname\" with one of the following names. Props means the elements passed through callback.\r\n\r\n```js\r\nplayer.on(\"eventname\", (evt, ...props) => {\r\n\t/*...do something*/\r\n});\r\n```\r\n\r\nHere, you can find all the events:\r\n\r\n| Name        | Props          | Description                                                                                       |\r\n| ----------- | -------------- | ------------------------------------------------------------------------------------------------- |\r\n| `init`      | null           | The player is initialized and the video is ready                                                  |\r\n| `ready`     | null           | Video is ready                                                                                    |\r\n| `play`      | null           | Video is playing                                                                                  |\r\n| `pause`     | null           | Video is in pause                                                                                 |\r\n| `ended`     | null           | Video is ended                                                                                    |\r\n| `buffering` | null           | Video is buffering                                                                                |\r\n| `tracking`  | object         | Tracking played chunks and effectively amount of time. Returns an object like { seconds, chunks } |\r\n| `error`     | int: errorCode | There was an error. The events pass an error code. See below.                                     |\r\n\r\n### Contributors\r\n\r\n-   Thanks to [video.js](https://github.com/videojs/video.js) for base library\r\n-   Thanks to [videojs-http-source-selector](https://github.com/jfujita/videojs-http-source-selector) for videojs http source selector component\r\n-   Thanks to [videojs-seek-buttons](https://github.com/mister-ben/videojs-seek-buttons) for videojs seek buttons\r\n-   Thanks to [videojs-overlay](https://github.com/brightcove/videojs-overlay) for videojs overlay library\r\n","readmeFilename":"README.md"}