# usc-player-sdk

> usc player

Latest version **1.2.3** (published 2024-11-05) · ISC license · 0 weekly downloads

## Install

```sh
npm install usc-player-sdk
pnpm add usc-player-sdk
yarn add usc-player-sdk
bun add usc-player-sdk
```

## Health

**Score 30/100 (F)** — status: maintenance-mode.

Positive: esm support; no vulnerabilities.

Warnings: low downloads; no types; large bundle.

Negative: stale; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.2.3 |
| Published | 2024-11-05 |
| First published | 2023-12-27 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | ESM + CommonJS |
| Dependencies | 1 |
| Unpacked size | 12.4 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | outlove |
| Maintainers | outlove |
| Keywords | usc-player, usc player, usc-player-sdk |

## Links

- npm: https://www.npmjs.com/package/usc-player-sdk
- npm.io page: https://npm.io/package/usc-player-sdk

## Dependencies (1)

- [nanoid](https://npm.io/package/nanoid.md) ^3.3.7

## Recent versions

- 1.2.3 (latest) — 2024-11-05
- 1.2.1 — 2024-10-31
- 1.2.0 — 2024-06-04
- 1.1.0 — 2024-05-10
- 1.0.7 — 2024-03-06
- 1.0.5 — 2024-01-30
- 1.0.6 — 2024-01-22
- 1.0.3 — 2024-01-19
- 1.0.2 — 2024-01-18
- 1.0.1 — 2024-01-16
- 1.0.0 — 2023-12-27

## README

## USC-PLAYER-SDK

### 安装和使用说明

1. 安装

```shell
# 安装依赖
pnpm i usc-player-sdk

```
安装后在node_modules找到 usc-player-sdk的dist目录的文件(libffmpeg.js libffmpeg.wasm), 放在项目中或使用CDN
> 脚本方式引入, 播放器对象实例 new USC.USCPlayer()
```js
// 与libffmpeg在相同目录
<script src="/path/to/index.js"></script>
```
> es方式引用 播放器对象实例 new USCPlayer()
```js
import { USCPlayer } from 'usc-player-sdk'
```


2. 使用
> HTML
```html
  <div class="test">
    <!-- <canvas id="scr0"></canvas> --> 
    <video id="scr0" class="test"></video>
  </div>
```
> JS 播放器参数 参考示例网页

  * url: 播放地址 (ws或wss协议)
  * code: 播放码流 
  * mode: 模式, 取值 0 | 1 | 2 分别代表了canvas监控模式, canvas预览模式, video监控模式, mode=2时标签使用video
  * container: 容器 (上面HTML示例中容器为 scr0 )
  * libpath 库文件 libffmpeg文件的网络地址或本地地址
```js
  import { USCPlayer } from 'usc-player-sdk'
  const { url, code, mode, container, libpath } = config
  const player = new USCPlayer({ url, code, container, mode, libpath })
  // 开始播放
  player.openPlayer()
  // 停止播放 true表示会在关闭后清空视频的内容, 默认false保留最后的画面
  player.closePlayer(true)
  // 动态切换, 在当前播放器切换视频源
  player.dynamicSwitchVideo('ws://47.98.215.65:1936', '2000000000100010')
  //显示事件(表示播放成功)
  player.on('frame', () => {
    console.log('start display first frame');
  })
  //视频大小事件(可用来监听横竖切换)
  player.on('size', (data) => {
    console.log('size: ', data);
  })

  // 播放器关闭事件(表示播放器此时已完全关闭)
  player.on('closed', () => {
    console.log('close success');
  })

  //错误事件(播放器初始化或播放过程中都可能触发该事件)
  /** e: { error: number, status: number, message: string, ref?: any }
   * status: -99 -504 -509 -511 ===> 连接超时;   -518 -513 ===> 播放失败(无流)
   */
  player.on('error', (e) => {
    console.log(e);
  })

```

---
_Source: https://npm.io/package/usc-player-sdk · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
