UNPKG

mfx

Version:

In-browser video editing toolkit, with effects accelerated by WebGL

64 lines (63 loc) 1.86 kB
/// <reference types="dom-webcodecs" /> import { type ContainerContext, ExtendedVideoFrame } from "./frame"; import { MFXTransformStream } from "./stream"; import { type GenericTrack, Track } from "./container/Track"; import type { MFXEncodedChunk } from "./types"; /** * @group Decode */ export interface MFXDecodableChunk<Sample = any> extends MFXEncodedChunk { context?: ContainerContext; track?: GenericTrack<Sample>; video?: MFXEncodedChunk["video"] & { config: VideoDecoderConfig; }; audio?: MFXEncodedChunk["audio"] & { config: AudioDecoderConfig; }; } /** * @group Decode * @note Forces a VideoFrame to be copied to Software (CPU) */ export declare const forceCopyFrame: (frame: VideoFrame, canvas?: OffscreenCanvas) => Promise<ExtendedVideoFrame>; /** * @group Decode */ export interface DecodeOptions { trim?: { start?: number; end?: number; }; frameRate?: number; forceDecodeToSoftware?: boolean; } /** * @group Decode */ export declare const decode: (input: ReadableStream<Uint8Array>, mimeType: string, opt?: DecodeOptions) => Promise<{ video: Track<any>; audio: Track<any>; videoTracks: Track<any>[]; audioTracks: Track<any>[]; }>; /** * @group Decode */ export declare class MFXAudioDecoder extends MFXTransformStream<MFXDecodableChunk, AudioData> { config: AudioDecoderConfig; get identifier(): string; constructor(config?: Partial<AudioDecoderConfig>); } /** * @group Decode */ export declare class MFXVideoDecoder extends MFXTransformStream<MFXDecodableChunk, ExtendedVideoFrame> { config: VideoDecoderConfig & { forceDecodeToSoftware: boolean; }; get identifier(): string; constructor(config?: Partial<VideoDecoderConfig>, { forceDecodeToSoftware, }?: { forceDecodeToSoftware?: boolean; }); }