@een/live-video-web-sdk

中文文档
1.10.2发布于 2025/07/08UNLICENSEDTypeScriptCommonJS零依赖近 30 天下载 2.2万

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

中文使用文档
文档目录7 节
  1. 安装
  2. 快速启动
  3. 配置选项
  4. API 方法
  5. 核心方法
  6. 音频控制( 仅WebCodes)
  7. 缓冲管理( 仅限WebCodes)

鹰眼网络直播视频网络 SDK

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

安装

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

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

快速启动

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();

配置选项

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 方法

核心方法

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

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

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

音频控制( 仅WebCodes)

// 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)

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

版本与发布记录

@een/live-video-web-sdk 共发布 48 个版本,首次发布于 2023/02/20;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.10.2latest2025/07/081.3 年前
1.10.12025/07/031.4 年前
1.10.02025/06/241.4 年前
1.9.22025/06/191.4 年前
1.9.12025/06/161.4 年前
1.9.02025/06/121.4 年前

其他发布通道:next → 1.6.1。

关于 @een/live-video-web-sdk 的常见问题

@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 和提交记录判断。