UNPKG

ffmpeg-stream-manager

Version:

🎥 A powerful TypeScript library for managing multiple simultaneous RTMP streams using FFmpeg. Perfect for streaming to platforms like YouTube Live, Twitch, and others.

44 lines • 1.5 kB
import { EventEmitter } from 'events'; import { StreamConfig, StreamState, FFmpegLog } from '../types'; export interface StreamProcessEvents { 'state-change': (state: StreamState) => void; 'log': (log: FFmpegLog) => void; 'error': (error: Error) => void; 'restart': () => void; } export declare class StreamProcess extends EventEmitter { private config; private ffmpegProcess; private _state; private _startTime; private _restartCount; private _lastError; private restartTimeout; private autoRestart; private restartDelay; constructor(config: StreamConfig, options?: { autoRestart?: boolean; restartDelay?: number; }); on<K extends keyof StreamProcessEvents>(event: K, listener: StreamProcessEvents[K]): this; emit<K extends keyof StreamProcessEvents>(event: K, ...args: Parameters<StreamProcessEvents[K]>): boolean; get state(): StreamState; get startTime(): Date | undefined; get uptime(): number; get restartCount(): number; get lastError(): string | undefined; get pid(): number | undefined; start(): Promise<void>; stop(): Promise<void>; restart(): Promise<void>; updateConfig(newConfig: StreamConfig): void; getConfig(): StreamConfig; private setState; private setupProcessHandlers; private isErrorMessage; private scheduleRestart; private clearRestartTimeout; private log; destroy(): void; } //# sourceMappingURL=stream-process.d.ts.map