鹰眼网络直播视频网络 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