21 lines
967 B
TypeScript
21 lines
967 B
TypeScript
import { type MediaParserLogLevel } from '@remotion/media-parser';
|
|
import type { ConvertMediaVideoCodec } from './get-available-video-codecs';
|
|
import type { IoSynchronizer } from './io-manager/io-synchronizer';
|
|
import type { WebCodecsController } from './webcodecs-controller';
|
|
export type WebCodecsVideoEncoder = {
|
|
encode: (videoFrame: VideoFrame) => void;
|
|
waitForFinish: () => Promise<void>;
|
|
close: () => void;
|
|
flush: () => Promise<void>;
|
|
ioSynchronizer: IoSynchronizer;
|
|
};
|
|
export declare const createVideoEncoder: ({ onChunk, onError, controller, config, logLevel, outputCodec, keyframeInterval, }: {
|
|
onChunk: (chunk: EncodedVideoChunk, metadata: EncodedVideoChunkMetadata | null) => Promise<void>;
|
|
onError: (error: Error) => void;
|
|
controller: WebCodecsController;
|
|
config: VideoEncoderConfig;
|
|
logLevel: MediaParserLogLevel;
|
|
outputCodec: ConvertMediaVideoCodec;
|
|
keyframeInterval: number;
|
|
}) => WebCodecsVideoEncoder;
|