[![GitHub stars](https://img.shields.io/github/stars/surmon-china/vue-video-player.svg?style=flat-square)](https://github.com/surmon-china/vue-video-player/stargazers) [![Build Status](https://travis-ci.org/surmon-china/vue-video-player.svg?branch=master)](https://travis-ci.org/surmon-china/vue-video-player) [![GitHub issues](https://img.shields.io/github/issues/surmon-china/vue-video-player.svg?style=flat-square)](https://github.com/surmon-china/vue-video-player/issues) [![GitHub forks](https://img.shields.io/github/forks/surmon-china/vue-video-player.svg?style=flat-square)](https://github.com/surmon-china/vue-video-player/network) [![GitHub last commit](https://img.shields.io/github/last-commit/google/skia.svg?style=flat-square)](https://github.com/surmon-china/vue-video-player) [![license](https://img.shields.io/github/license/mashape/apistatus.svg?style=flat-square)](https://github.com/surmon-china/vue-video-player) [![Twitter](https://img.shields.io/twitter/url/https/github.com/surmon-china/vue-video-player.svg?style=flat-square)](https://twitter.com/intent/tweet?url=https://github.com/surmon-china/vue-video-player) [![NPM](https://nodei.co/npm/vue-video-player.png?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/vue-video-player/) [![NPM](https://nodei.co/npm-dl/vue-video-player.png?months=9&height=3)](https://nodei.co/npm/vue-video-player/) # Vue-Video-Player [video.js](https://github.com/videojs/video.js) player component for Vue. 适用于 Vue 的 [video.js](https://github.com/videojs/video.js) 播放器组件。 # Example [Demo Page](https://surmon-china.github.io/vue-video-player) [CDN Example](https://jsfiddle.net/u69gnx90/) [nuxt.js/ssr example code](https://github.com/surmon-china/vue-video-player/blob/master/examples/nuxt-ssr-example) [More Example Code](https://github.com/surmon-china/vue-video-player/tree/master/examples) # Install #### CDN ``` html ``` #### NPM ``` bash npm install vue-video-player --save ``` ### Mount #### mount with global ``` javascript import Vue from 'vue' import VueVideoPlayer from 'vue-video-player' // require videojs style import 'video.js/dist/video-js.css' // import 'vue-video-player/src/custom-theme.css' Vue.use(VueVideoPlayer, /* { options: global default options, events: global videojs events } */) ``` #### mount with component ```javascript // require styles import 'video.js/dist/video-js.css' import { videoPlayer } from 'vue-video-player' export default { components: { videoPlayer } } ``` #### mount with ssr ```javascript // If used in nuxt.js/ssr, you should keep it only in browser build environment if (process.browser) { const VueVideoPlayer = require('vue-video-player/dist/ssr') Vue.use(VueVideoPlayer) } ``` #### videojs extend ```javascript import videojs from 'video.js' // videojs plugin const Plugin = videojs.getPlugin('plugin') class ExamplePlugin extends Plugin { // something... } videojs.registerPlugin('examplePlugin', ExamplePlugin) // videojs language videojs.addLanguage('es', { Pause: 'Pausa', // something... }) // more videojs api... // vue component... ``` ### Difference(使用方法的异同) **SSR and the only difference in the use of the SPA:** - SPA worked by the `component`, find videojs instance by `ref attribute`. - SSR worked by the `directive`, find videojs instance by `directive arg`. - Other configurations, events are the same. ### SPA ``` vue ``` ### SSR ``` vue ``` # Issues [videojs-contrib-hls - e is not defined](https://github.com/surmon-china/vue-video-player/issues/90) # API - component api: * `events` : `[ Array, default: [] ]` : custom videojs event to component * `playsinline` : `[ Boolean, default: false ]` : set player not full-screen in mobile device * `crossOrigin` : `[ String, default: '' ]` : set crossOrigin to video * `customEventName` : `[ String, default: 'statechanged' ]` : custom the state change event name - video.js api * [video.js options](http://docs.videojs.com/tutorial-options.html) * [video.js docs](http://docs.videojs.com/) # videojs plugins - [videojs-resolution-switcher](https://github.com/kmoskwiak/videojs-resolution-switcher) - [videojs-contrib-hls](https://github.com/videojs/videojs-contrib-hls) - [videojs-youtube](https://github.com/videojs/videojs-youtube) - [videojs-vimeo](https://github.com/videojs/videojs-vimeo) - [videojs-hotkeys](https://github.com/ctd1500/videojs-hotkeys) - [videojs-flash](https://github.com/videojs/videojs-flash) - [videojs-contrib-ads](https://github.com/videojs/videojs-contrib-ads) - [more plugins...](https://github.com/search?o=desc&q=videojs+plugin&s=stars&type=Repositories&utf8=%E2%9C%93) # Author [Surmon](https://surmon.me)