# @een/live-video-web-sdk 中文文档

规范地址：https://npmcn.com/package/%40een/live-video-web-sdk/

版本：1\.10\.2
npm 元数据更新时间：2025-07-08T11:59:35.533Z
中文译文更新时间：2026-11-13T07:59:11.828Z
软件包许可：UNLICENSED

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40een/live-video-web-sdk
原文对照：https://npmcn.com/package/%40een/live-video-web-sdk/?lang=original
项目主页：https://www.een.com/

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：226 kB，4 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- 首次发布：2023-02-20T08:16:34.652Z
- 最新版本发布：2025-07-08T11:59:35.335Z
- 近 30 天下载量：21530（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：48（近 12 个月 0 个）

## 中文简介

这个软件包允许EEN用户在其网络解决方案上加入活视频. 版权(C)2025鹰眼网 B.V. - [销售@een.com](mailto:sales@een.com)。没有鹰眼网络的明确许可,无法复制和/或分发此软件.

## 安装

```sh
npm install @een/live-video-web-sdk
```

也可以使用：`pnpm add @een/live-video-web-sdk`、`yarn add @een/live-video-web-sdk`、`bun add @een/live-video-web-sdk`

## README

# 鹰眼网络直播视频网络 SDK

**版权(C)2025鹰眼网 B.V. - [销售@een.com](mailto:sales@een.com)**  
这个软件包允许EEN用户在其网络解决方案上加入活视频. 版权(C) 2025鹰眼网 B.V [销售@een.com](mailto:sales@een.com) 无法复制和/或分发此软件 未经"鹰眼网"明确许可.

## 安装

> 注:这是开发文件。 npm 包文档,请参见已发布的包所包含 README.md 文件.

```bash
npm install @een/live-video-web-sdk
```

## 快速启动

```typescript
import VideoPlayer from '@een/live-video-web-sdk';

const player = new VideoPlayer({
  jwt: 'your-jwt-token',
  cameraId: 'your-camera-id',
  videoElement: document.getElementById('video') as HTMLVideoElement,
  onError: (error) => console.error('Player error:', error),
  onFrame: (time) => console.log('Frame rendered at:', time)
});

await player.start();
```

## 配置选项

```typescript
interface Config {
  cameraId?: string;                    // Camera identifier
  jwt: string;                         // Authentication JWT token
  videoElement?: HTMLVideoElement;      // Target video element
  canvasElement?: HTMLCanvasElement;    // Target canvas (WebCodecs only)
  maxBuffer?: number;                  // Maximum buffer size (0-10000ms)
  minBuffer?: number;                  // Minimum buffer size (default: 1000ms)
  videoTech?: "WebCodecs" | "FLV";     // Preferred playback technology
  feedUrl?: string;                    // Direct feed URL (optional)
  baseUrl?: string;                    // API base URL (auto-detected from JWT)
  eenUniqueId?: string;                // EEN system unique identifier
  
  // Event Callbacks
  onFrame?: (time: number) => void;
  onStop?: () => void;
  onAudio?: () => void;
  onSwitchToFlv?: () => void;
  onError?: (error: VideoPlayerError) => void;
  onWarning?: (warning: VideoPlayerWarning) => void;
}
```

SDK提供了全面的错误分类:

#### 配置错误

-   `CONFIG_INVALID_JWT` - 无效或缺失的 JWT 令牌
-   `CONFIG_INVALID_VIDEO_TECH` - 指定的无效视频技术
-   `CONFIG_CANVAS_WITHOUT_WEBCODECS` - 不使用WebCodecs的相机元素
-   `CONFIG_DUAL_VIDEO_TARGETS` - 提供录像和画布
-   `CONFIG_INVALID_BUFFER_SIZE` - 有效范围之外的缓冲大小
-   `CONFIG_MISSING_FEED_PARAMS` - 缺少所需的饲料参数

#### 网络错误

-   `NETWORK_FEED_FETCH_ERROR` - 获取视频种子失败
-   `NETWORK_JWT_DECODE_ERROR` - JWT解码失败
-   `NETWORK_STREAM_REQUEST_ERROR` - 流请求失败
-   `NETWORK_CONNECTION_ERROR` - 网络连接出错
-   `NETWORK_STREAM_WARNING` - 连续警告(非致命)

#### 玩家错误

-   `PLAYER_START_WHILE_PLAYING` - 试图在已经玩的时候开始
-   `PLAYER_MULTIPART_STREAM_ERROR` - 多段流出错
-   `PLAYER_FLV_START_ERROR` - FLV 播放器初始化错误
-   `PLAYER_HARDWARE_ACCELERATION_ERROR` - 硬件加速出错

#### WebCodecs 错误

-   `WEBCODECS_VIDEO_DECODER_ERROR` - 视频解码器出错
-   `WEBCODECS_AUDIO_DECODER_ERROR` - 音频解码器出错
-   `WEBCODECS_AUDIO_RENDER_ERROR` - 音频渲染错误
-   `WEBCODECS_VIDEO_RENDER_ERROR` - 视频渲染错误
-   `WEBCODECS_AUDIO_CONFIG_ERROR` - 音频配置出错
-   `WEBCODECS_FRAME_PROCESSING_ERROR` - 框架处理出错

## API 方法

### 核心方法

```typescript
// Start video playback
await player.start(config?: Config): Promise<void>

// Stop video playback
player.stop(): void

// Check if currently playing
player.isPlaying(): boolean
```

### 音频控制( 仅WebCodes)

```typescript
// Audio muting
player.getAudioMuted(): boolean
player.setAudioMuted(muted: boolean): void
player.toggleMute(): void

// Volume control (0.0 - 1.0)
player.getAudioVolume(): number
player.setAudioVolume(volume: number): void

// Audio error checking
player.getAudioPlaybackError(): any
```

### 缓冲管理( 仅限WebCodes)

```typescript
// Buffer configuration
player.setMaxBuffer(ms: number): void
player.setMinBuffer(ms: number): void
player.getBufferLength(): number
```

## 常见问题

### @een/live-video-web-sdk 是什么？

这个软件包允许EEN用户在其网络解决方案上加入活视频\. 版权\(C\)2025鹰眼网 B\.V\. - 销售@een\.com。没有鹰眼网络的明确许可,无法复制和/或分发此软件\.

### 如何安装 @een/live-video-web-sdk？

在项目目录运行 npm install @een/live-video-web-sdk，或使用 pnpm add / yarn add / bun add。

### @een/live-video-web-sdk 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @een/live-video-web-sdk 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @een/live-video-web-sdk 可以商用吗？

@een/live-video-web-sdk 使用 UNLICENSED 许可。作者声明为 UNLICENSED，即不授予公开使用许可（与公共领域的 Unlicense 不同）。使用前需获得作者授权。以上为概括，不构成法律意见，请以许可原文为准。

### @een/live-video-web-sdk 的下载量有多少？

根据 npm 官方下载统计，@een/live-video-web-sdk 在 2026/10/13 – 2026/11/11 这 30 天内被下载 21,530 次，日均约 718 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @een/live-video-web-sdk 还在维护吗？

最新版本 1\.10\.2 发布于 2025/07/08（1\.3 年前）；至今共发布 48 个版本，其中过去 12 个月发布了 0 个；首次发布于 2023/02/20。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

