xgplayer

A HTML5 video player with a parser that saves traffic

Github星跟踪图

English, 简体中文

Introduction

xgplayer is a web video and audio player library, designed with separate, detachable UI components. Since everything is componentized. the UI layer is very flexable.
xgplayer is bold in its functionality: it gets rid of video loading, buffering, and format support for video dependence.
For mp4 that does not support streaming, you can use staged loading. This means load control, seamless switching without artifacts, and video bandwidth savings. It also integrates on-demand and live support for FLV, HLS, and dash.

For more details, please read the Documentation.

Start

  1. Install

    $ npm install xgplayer
    
  2. Usage

    Step 1:

    <div id="vs"></div>
    

    Step 2:

    import Player from 'xgplayer';
    
    const player = new Player({
        id: 'vs',
        url: 'http://s2.pstatp.com/cdn/expire-1-M/byted-player-videos/1.0.0/xgplayer-demo.mp4'
    })
    

    This is the easiest way to configure the video player. For more advanced content, see the plug-in section or documentation. more config

Plugins

xgplayer provides more plugins. Plugins are divided into two categories: one is self-starting, and another inherits the player's core class named xgplayer. In principle, the officially provided plug-ins are self-starting and the packaged third-party libraries are inherited. Some feature plug-ins themselves can provide a downgrade scenario that suggests a self-start approach, or an inheritance approach if not. The player supports custom plugins for more content viewing plugins

The following is how to use a self-starting plug-in:

import Player from 'xgplayer';
import 'xgplayer-mp4';

const player = new Player({
    id: 'video',
    url: '//abc.com/test.mp4'
})

xgplayer-mp4plugin is self-starting, It loads mp4 video itself, parses mp4 format, implements custom loading, buffering, seamless switching, and so on. it will automatically downgrade devices that do not support MSE. details

Mobile Support

xgplayer supports mobile devices, but android brands and system customizations are numerous. Since there may be compatibility problems, the player provides a whitelist mechanism to ensure perfect operation in mobile devices. whitelist configuration

Dev

For debugging, we provide example video files in github. You can clone the whole git repository, which includes both code and example videos with 'git clone --recurse-submodules -j8'. With 'git clone' you will pull only xgplayer code and its plugins.

$ git clone --recurse-submodules -j8 git@github.com:bytedance/xgplayer.git # OR git clone git@github.com:bytedance/xgplayer.git
$ cd xgplayer
$ npm install
$ npm run dev

Then visit http://localhost:9090/examples/index.html

Agreement

Welcome to use xgplayer! Please read the following terms carefully. Using xgplayer means that you accept and agree to the terms.

  1. Xgplayer is licensed under the MIT License. You comply with its obligations by default.
  2. By default, you authorize us to place your logo in xgplayer website, which using xgplayer.
    If you have any problem, please let us know.

Join Us

We welcome anyone with an interest in web media technology to join! Please contact us at yinguohui@bytedance.com

主要指标

概览
名称与所有者bytedance/xgplayer
主编程语言JavaScript
编程语言JavaScript (语言数: 4)
平台
许可证MIT License
所有者活动
创建于2018-05-16 12:01:55
推送于2025-04-16 11:27:51
最后一次提交
发布数389
最新版本名称v3.0.22-rc.10 (发布于 )
第一版名称v1.0.1 (发布于 2018-06-24 11:57:53)
用户参与
星数8.7k
关注者数124
派生数897
提交数1.7k
已启用问题?
问题数1085
打开的问题数40
拉请求数537
打开的拉请求数2
关闭的拉请求数82
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?