Vue component for xgplayer, a HTML5 video player with a parser that saves traffic
Switch branches/tags
Nothing to show
Clone or download


xgplayer is a web video player library. It has designed a separate, detachable UI component based on the principle that everything is componentized. More importantly, it is not only flexible in the UI layer, but also bold in its functionality: it gets rid of video loading, buffering, and format support for video dependence. Especially on mp4 it can be staged loading for that does not support streaming mp4. This means seamless switching with clarity, load control, and video savings. It also integrates on-demand and live support for FLV, HLS, and dash. Document

xgplayer-vue is the Vue component which encapsulating the xgplayer.


  1. Install

    $ npm install xgplayer-vue@latest
  2. Usage

    Step 1. Add xgplayer-vue component

    import Xgplayer from 'xgplayer-vue';
    export default {

    Step 2. Use in template

    <Xgplayer :config="config" :format='format' @player="Player = $event"/>

    Step 3. Config for xgplayer

    export default {
      data () {
        return {
          config: {
            id: 'vs',
            url: '/xgplayer-demo.mp4'
          format: 'mp4',
          Player: null

    You can use 'config' object to pre-config xgplayer, such as size, volume, autoplay and so on. More config

    'format' is used to tell xgplayer which format video you want to play and which plugin you want to use. 'mp4', 'xg-mp4', 'hls', 'xg-hls', 'flv', 'xg-flv', 'dash' are supported. 'mp4' means play mp4 without using plugin; 'xg-mp4' means play mp4 with using xgplayer-mp4 plugin; 'hls' means play hls(.m3u8) with using xgplayer-hls.js plugin; 'xg-hls' means play hls(.m3u8) with using xgplayer-hls plugin; 'flv' means play flv with using xgplayer-flv.js plugin; 'xg-flv' means play flv with using xgplayer-flv plugin; 'dash' means play MPEG-DASH(.mpd) with using xgplayer-shaka plugin.

    'Player' is the xgplayer instance which exposed from the component. You can use 'Player' to access the API of xgplayer as follows.




More attributes



More methods


this.Player.on('play', ()=>{console.log('play')})

More events

Life Cycle

this.Player.once('ready', ()=>{console.log('ready')})

More events


xgplayer supports your custom plugins for more content viewing plugins

import Xgplayer from 'xgplayer-vue';
import 'xgplayer-custom';


$ git clone
$ cd xgplayer-vue
$ npm install
$ npm start

please visit http://localhost:9090/index.html