UNPKG

@onamfc/video-transcoder

Version:

Backend-agnostic video recording and transcoding module with AWS integration

49 lines 2.08 kB
import { WebcamRecorder } from './core/MediaRecorder'; import { RecorderConfig, RecordingResult, UploadResult, ProgressEvent, ProcessingResult, ErrorEvent, StatusResult, RecordingList } from './types'; export declare class VideoRecorder { private recorder; private uploader; private tracker; private config; constructor(config: RecorderConfig); configure(options: Partial<RecorderConfig>): void; initialize(): Promise<void>; setPreviewElement(element: HTMLVideoElement): void; startRecording(): Promise<void>; stopRecording(): Promise<RecordingResult>; pauseRecording(): void; resumeRecording(): void; uploadRecording(file: Blob, metadata?: Record<string, unknown>): Promise<UploadResult>; retryUpload(trackingId: string): Promise<UploadResult>; cancelUpload(trackingId: string): Promise<void>; onProgress(callback: (progress: ProgressEvent) => void): void; onComplete(callback: (result: ProcessingResult) => void): void; onError(callback: (error: ErrorEvent) => void): void; getUploadStatus(trackingId: string): Promise<StatusResult>; listRecordings(userId?: string): Promise<RecordingList>; getRecordingState(): ReturnType<WebcamRecorder['getRecordingState']>; /** * Records video and automatically uploads when complete. * Uses the existing event system for progress tracking and completion. */ recordAndUpload(metadata?: Record<string, unknown>): Promise<{ recording: RecordingResult; upload: UploadResult; }>; /** * Waits for recording to complete either by manual stop or max duration */ private waitForRecordingComplete; cleanup(): void; static checkBrowserSupport(): Promise<{ supported: boolean; features: { mediaRecorder: boolean; getUserMedia: boolean; webrtc: boolean; }; recommendations?: string[]; }>; static getRecommendedSettings(deviceType?: 'mobile' | 'desktop'): Partial<RecorderConfig>; } //# sourceMappingURL=VideoRecorder.d.ts.map