UNPKG

polyv-live-cli

Version:

CLI tool for managing PolyV live streaming services.

191 lines 4.6 kB
export interface StreamGetKeyRequest { channelId: string; } export interface StreamGetKeyOptions { channelId: string; output?: 'table' | 'json'; } export interface StreamInfoModel { deployAddress: string; inAddress: string; streamName: string; fps: number; lfr: number; inBandWidth: number; } export interface StreamKeyDisplayModel { channelId: string; rtmpUrl: string; streamKey: string; isMasked: boolean; streamInfo?: { fps: number; bandwidth: number; }; } export interface StreamCredentials { channelId: string; rtmpUrl: string; streamKey: string; deployAddress: string; inAddress: string; metrics: { fps: number; lfr: number; bandwidth: number; }; } export interface StreamStartRequest { channelId: string; } export interface StreamStartOptions { channelId: string; } export interface StreamStartResponse { code: number; status: string; message: string; data: string; } export interface StreamStopRequest { channelId: string; } export interface StreamStopOptions { channelId: string; } export interface StreamStopResponse { code: number; status: string; message: string; data: string; } export interface StreamStatusRequest { channelId: string; } export interface StreamMonitorData { deployAddress?: string; inAddress?: string; streamName: string; fps: string; lfr?: string; inBandWidth: string; retrievedAt: Date; channelId: string; } export interface StreamStatusInfo { channelId: string; status: 'live' | 'stopped' | 'waiting' | 'error' | 'unknown'; statusText: string; isLive: boolean; duration?: number; durationText?: string; metrics?: { fps: number; lfr: number; bandwidth: number; bandwidthText: string; }; network?: { deployAddress?: string; inAddress?: string; streamName?: string; }; lastUpdated: Date; error?: { code: string; message: string; }; } export interface StreamStatusOptions { channelId: string; output?: 'table' | 'json'; watch?: boolean; } export interface StreamPushOptions { channelId: string; file: string; verify?: boolean; verificationInterval?: number; qualityThreshold?: number; showViewerLinks?: boolean; } export interface StreamVerificationOptions { channelId: string; duration?: number; interval?: number; qualityThreshold?: number; showViewerLinks?: boolean; saveReport?: string; output?: 'table' | 'json'; } export interface StreamMonitorOptions { channelId: string; refresh?: number; alerts?: boolean; output?: 'table' | 'json'; } export interface QualityMetrics { fps: number; bandwidth: number; latency?: number; lfr?: number; } export interface QualityIssue { timestamp: Date; type: 'fps_low' | 'bandwidth_low' | 'connection_lost' | 'encoding_error' | 'other'; severity: 'warning' | 'error' | 'critical'; message: string; metrics?: Partial<QualityMetrics>; } export interface ViewerLink { protocol: 'HLS' | 'RTMP' | 'WebRTC' | 'HTTP-FLV'; url: string; description: string; } export interface VerificationPoint { checkNumber: number; timestamp: Date; status: 'healthy' | 'warning' | 'error'; metrics: QualityMetrics; issues: QualityIssue[]; } export interface VerificationSummary { overallStatus: 'excellent' | 'good' | 'fair' | 'poor'; reliability: number; averageQuality: QualityMetrics; totalIssues: number; recommendations: string[]; } export interface StreamVerificationResult { channelId: string; verificationId: string; startTime: Date; endTime: Date; totalChecks: number; successfulChecks: number; failedChecks: number; averageMetrics: QualityMetrics; qualityIssues: QualityIssue[]; viewerLinks: ViewerLink[]; summary: VerificationSummary; } export interface VerificationReport { metadata: { channelId: string; testDuration: number; testInterval: number; timestamp: Date; version: string; }; summary: VerificationSummary; timeline: VerificationPoint[]; issues: QualityIssue[]; viewerLinks: ViewerLink[]; } export interface StreamActivity { timestamp: Date; type: 'status_change' | 'quality_change' | 'viewer_change' | 'error' | 'info'; message: string; data?: Record<string, unknown>; } //# sourceMappingURL=stream.d.ts.map