MCPcopy Index your code
hub / github.com/bytedance/xgplayer

github.com/bytedance/xgplayer @3.0.25

Chat with this repo
repository ↗ · DeepWiki ↗ · release 3.0.25 ↗ · + Follow
2,767 symbols 6,771 edges 362 files 528 documented · 19% 1 cross-repo links updated 13d agov3.0.25-rc.15 · 2026-06-22★ 9,25224 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README
<img src="https://raw.githubusercontent.com/bytedance/xgplayer/master/xgplayer.png" width="384" height="96">






<a href="https://www.npmjs.com/package/xgplayer" target="_blank">
    <img src="https://img.shields.io/npm/v/xgplayer.svg" alt="npm">
</a>
<a href="https://www.npmjs.com/package/xgplayer">
    <img src="https://img.shields.io/npm/dm/xgplaer.svg" alg="download">
</a>
<a href="https://www.npmjs.com/package/xgplayer" target="_blank">
    <img src="https://img.shields.io/npm/l/xgplayer.svg" alt="license">
</a>
<a href="http://commitizen.github.io/cz-cli/">
    <img src="https://img.shields.io/badge/commitizen-friendly-brightgreen.svg" alt="commitizen">
</a>

概述

西瓜播放器是一个Web视频播放器类库,它本着一切都是组件化的原则设计了独立可拆卸的 UI 组件。更重要的是它不只是在 UI 层有灵活的表现,在功能上也做了大胆的尝试:摆脱视频加载、缓冲、格式支持对 video 的依赖。尤其是在 mp4 点播上做了较大的努力,让本不支持流式播放的 mp4 能做到分段加载,这就意味着可以做到清晰度无缝切换、加载控制、节省视频流量。同时,它也集成了对 flv、hls、dash 的点播和直播支持。文档

起步

  1. 安装

    bash $ npm install xgplayer

  2. 使用

  3. Step 1:

    ```html

    ```

  4. Step 2:

    ```js import Player from 'xgplayer'

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

    这是最简单的播放器配置方法,基本功能可以跑起来,如果想使用高级功能参考插件一节或者文档。更多配置

插件

西瓜播放器提供了较多的插件,并支持自定义插件,更多内容查看 插件。播放器内有不少内置插件,如果需要关闭某些插件可以通过 ignores 配置禁用

开发调试

为了方便开发者调试,我们在仓库 fixtures 目录内提供了示例代码。播放器使用 yarn 进行包管理,只需简单几步即可开始在仓库内启动调试

$ cd xgplayer
$ yarn
$ yarn dev:xgplayer

其它插件启动,请参考仓库根目录内 package.json 提供 scripts 命令,比如:

$ yarn dev:hls
$ yarn dev:flv
$ yarn dev:mp4

发布流程

稳定版本、非稳定版本以及发版命令说明,参见 发布指南

使用协议

欢迎使用西瓜播放器技术团队提供的开源音视频解决方案!请您仔细阅读以下条款。通过使用西瓜播放器,您表示同意接受以下所有条款。 1. 本开源项目中所有代码基于 MIT 许可协议,您默认遵守许可协议中约定的义务。 2. 您默认授权我们将您使用西瓜播放器所在业务的Logo放置在本官网展示。 若您有任何问题,请联系我们。

Extension points exported contracts — how you extend this code

Config (Interface)
(no doc)
scripts/index.d.ts

Core symbols most depended-on inside this repo

forEach
called by 258
packages/xgplayer/src/instManager.js
emit
called by 153
packages/xgplayer-subtitles/src/index.js
log
called by 117
packages/xgplayer-mp4/src/mp4.js
on
called by 100
packages/xgplayer/src/mediaProxy.js
resolve
called by 97
packages/xgplayer-subtitles/src/proxyPromise.js
fn
called by 97
packages/xgplayer-hls/src/hls/manifest-loader/index.js
on
called by 96
packages/xgplayer/src/plugins/mobile/touch.js
removeClass
called by 83
packages/xgplayer/src/player.js

Shape

Method 1,980
Class 396
Function 390
Interface 1

Languages

TypeScript100%

Modules by API surface

packages/xgplayer/src/player.js123 symbols
packages/xgplayer-transmuxer/src/mp4/mp4.js62 symbols
packages/xgplayer-transmuxer/src/mp4/mp4-parser.js59 symbols
packages/xgplayer/src/mediaProxy.js51 symbols
packages/xgplayer-subtitles/src/index.js46 symbols
packages/xgplayer-streaming-shared/src/mse.js43 symbols
packages/xgplayer/src/plugin/plugin.js41 symbols
packages/xgplayer-mp4/src/mp4Plugin.js41 symbols
packages/xgplayer-hls/src/hls/index.js41 symbols
packages/xgplayer/src/utils/draggabilly.js38 symbols
packages/xgplayer/src/plugins/progress/index.js37 symbols
packages/xgplayer/src/plugins/mobile/index.js35 symbols

Used by 1 indexed graphs manifest dependencies, hub-wide

Dependencies from manifests, versioned

@babel/core7.17.9 · 1×
@babel/parser7.15.3 · 1×
@babel/preset-env7.16.11 · 1×
@babel/preset-typescript7.26.0 · 1×
@babel/runtime7.15.3 · 1×
@biomejs/biome2.1.3 · 1×
@rollup/plugin-babel5.3.1 · 1×
@types/events3.0.0 · 1×
@types/jest28.1.1 · 1×
@vitejs/plugin-react1.3.2 · 1×
@yarnpkg/core4.0.0-rc.44 · 1×
@yarnpkg/fslib3.0.0-rc.44 · 1×

For agents

$ claude mcp add xgplayer \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact