All Projects → bytedance → Xgplayer

bytedance / Xgplayer

Licence: mit
A HTML5 video player with a parser that saves traffic

Programming Languages

javascript
184084 projects - #8 most used programming language
SCSS
7915 projects

Projects that are alternatives of or similar to Xgplayer

Chimee
a video player framework aims to bring wonderful experience on browser
Stars: ✭ 2,332 (-51.34%)
Mutual labels:  video-player, mp4, html5-video, flv, videoplayer, hls, html5-video-player
Clappr
🎬 An extensible media player for the web.
Stars: ✭ 5,436 (+13.44%)
Mutual labels:  player, video-player, dash, mp4, html5-video, hls, html5-video-player
Griffith
A React-based web video player
Stars: ✭ 2,287 (-52.27%)
Mutual labels:  mp4, html5-video, hls, mp4box, html5-video-player, fmp4
clappr-core
Core components of the Clappr player architecture
Stars: ✭ 41 (-99.14%)
Mutual labels:  player, mp4, video-player, html5-video, html5-video-player
Mediaelement
HTML5 <audio> or <video> player with support for MP4, WebM, and MP3 as well as HLS, Dash, YouTube, Facebook, SoundCloud and others with a common HTML5 MediaElement API, enabling a consistent UI in all browsers.
Stars: ✭ 7,767 (+62.08%)
Mutual labels:  dash, mp4, html5-video, hls, html5-video-player
Magicalexoplayer
The Easiest Way To Play/Stream Video And Audio Using Google ExoPlayer In Your Android Application
Stars: ✭ 171 (-96.43%)
Mutual labels:  player, dash, mp4, videoplayer, hls
hms-video-demo-android
HUAWEI Video Kit supports streaming media in 3GP, MP4, or TS format and compliant with HTTP/HTTPS, HLS, or DASH. The Kit also provides abundant playback controls, delivering personalized video experiences to users.
Stars: ✭ 22 (-99.54%)
Mutual labels:  mp4, hls, video-player, dash
Awesome Video
A curated list of awesome streaming video tools, frameworks, libraries, and learning resources.
Stars: ✭ 397 (-91.72%)
Mutual labels:  player, dash, mp4, hls
Indigo Player
Highly extensible, modern, JavaScript video player. Handles MPEG-Dash / HLS / MPEG-4 and is built on top of the HTML5 video element.
Stars: ✭ 1,173 (-75.52%)
Mutual labels:  video-player, dash, html5-video, hls
shaka-player-react
A simple React component wrapper for shaka-player
Stars: ✭ 79 (-98.35%)
Mutual labels:  player, hls, video-player, dash
Nexplayer unity plugin
Stream videos in HLS & DASH with Widevine DRM using NexPlayer Video Streaming Player SDK for Unity on Android & iOS devices
Stars: ✭ 73 (-98.48%)
Mutual labels:  player, video-player, dash, hls
Video.js
Video.js - open source HTML5 & Flash video player
Stars: ✭ 32,478 (+577.75%)
Mutual labels:  player, dash, html5-video, hls
Html5 Dash Hls Rtmp
🌻 HTML5播放器、M3U8直播/点播、RTMP直播、低延迟、推流/播流地址鉴权
Stars: ✭ 1,805 (-62.33%)
Mutual labels:  player, dash, html5-video, hls
Dplayer
🍭 Wow, such a lovely HTML5 danmaku video player
Stars: ✭ 12,101 (+152.53%)
Mutual labels:  player, dash, flv, hls
Openplayerjs
Lightweight HTML5 video/audio player with smooth controls and ability to play VAST/VPAID/VMAP ads
Stars: ✭ 255 (-94.68%)
Mutual labels:  player, dash, html5-video, hls
ZLMediaKit
WebRTC/RTSP/RTMP/HTTP/HLS/HTTP-FLV/WebSocket-FLV/HTTP-TS/HTTP-fMP4/WebSocket-TS/WebSocket-fMP4/GB28181/SRT server and client framework based on C++11
Stars: ✭ 7,790 (+62.56%)
Mutual labels:  mp4, hls, flv
nsplayer
A web player with shakaplayer & hls.js both supported
Stars: ✭ 23 (-99.52%)
Mutual labels:  player, hls, dash
danmaku-player
An HTML5 danmaku video player for real-time image processing using WebGl and Web Components.融合了webgl和web components的实时图像处理弹幕播放器
Stars: ✭ 40 (-99.17%)
Mutual labels:  player, video-player, html5-video-player
HJPlayer
A HTML5 Player, can play flv and hls by Media Source Extension, based on typescript.
Stars: ✭ 149 (-96.89%)
Mutual labels:  player, hls, flv
kaltura-player-js
Kaltura Player JS Platform - Cloud TV and OVP Media Players
Stars: ✭ 83 (-98.27%)
Mutual labels:  player, hls, video-player

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: 'https://lf9-cdn-tos.bytecdntp.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

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 [email protected]:bytedance/xgplayer.git # OR git clone [email protected]: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 [email protected]

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].