@remotion/studio
Version:
APIs for interacting with the Remotion Studio
52 lines (51 loc) • 3.87 kB
TypeScript
import type { RenderFramesOptions, RenderMediaOptions, RenderStillOptions } from '@remotion/renderer';
import type { RenderDefaults } from '@remotion/studio-shared';
import type { renderMediaOnWeb } from '@remotion/web-renderer';
type RenderMode = 'still' | 'video' | 'audio' | 'sequence';
export declare const getNpmRemotionCommandPrefix: (version: string) => string;
export declare const normalizeServeUrlForRenderCommand: ({ locationHref, compositionId, }: {
locationHref: string;
compositionId: string;
}) => string;
type StrictRequired<T> = {
[K in keyof T]-?: Exclude<T[K], undefined>;
};
type RenderMediaCommandOptions = Omit<StrictRequired<Pick<RenderMediaOptions, 'codec' | 'crf' | 'concurrency' | 'disallowParallelEncoding' | 'muted' | 'enforceAudioTrack' | 'everyNthFrame' | 'numberOfGifLoops' | 'colorSpace' | 'scale' | 'logLevel' | 'repro' | 'metadata' | 'jpegQuality' | 'pixelFormat' | 'proResProfile' | 'x264Preset' | 'audioCodec' | 'forSeamlessAacConcatenation' | 'separateAudioTo' | 'hardwareAcceleration' | 'chromeMode' | 'offthreadVideoCacheSizeInBytes' | 'offthreadVideoThreads' | 'mediaCacheSizeInBytes' | 'audioBitrate' | 'videoBitrate' | 'encodingMaxRate' | 'encodingBufferSize'>>, 'audioBitrate' | 'videoBitrate' | 'encodingMaxRate' | 'encodingBufferSize' | 'jpegQuality' | 'proResProfile'> & {
audioBitrate: string | null;
videoBitrate: string | null;
encodingMaxRate: string | null;
encodingBufferSize: string | null;
jpegQuality: Exclude<RenderMediaOptions['jpegQuality'], undefined> | null;
proResProfile: Exclude<RenderMediaOptions['proResProfile'], undefined> | null;
};
type RenderStillCommandOptions = StrictRequired<Pick<RenderStillOptions, 'frame'>>;
type RenderFramesSharedOptions = StrictRequired<Pick<RenderFramesOptions, 'concurrency' | 'everyNthFrame' | 'scale' | 'logLevel'>>;
type RenderMediaOnWebInput = Parameters<typeof renderMediaOnWeb>[0];
type CrossRendererOptions = StrictRequired<Pick<RenderMediaOnWebInput, 'muted' | 'scale' | 'logLevel'>>;
type ReadOnlyStudioRenderCommandInput = RenderMediaCommandOptions & RenderStillCommandOptions & RenderFramesSharedOptions & CrossRendererOptions & {
remotionVersion: string;
locationHref: string;
compositionId: string;
outName: string;
renderMode: RenderMode;
renderDefaults: RenderDefaults;
durationInFrames: number;
startFrame: number;
endFrame: number;
stillImageFormat: RenderDefaults['stillImageFormat'];
sequenceImageFormat: RenderDefaults['videoImageFormat'];
videoImageFormat: RenderDefaults['videoImageFormat'];
delayRenderTimeout: number;
headless: boolean;
disableWebSecurity: boolean;
ignoreCertificateErrors: boolean;
gl: RenderDefaults['openGlRenderer'];
userAgent: string | null;
multiProcessOnLinux: boolean;
darkMode: boolean;
beepOnFinish: boolean;
envVariables: Record<string, string>;
inputProps: Record<string, unknown>;
};
export declare const makeReadOnlyStudioRenderCommand: ({ remotionVersion, locationHref, compositionId, outName, renderMode, renderDefaults, durationInFrames, concurrency, frame, startFrame, endFrame, stillImageFormat, sequenceImageFormat, videoImageFormat, jpegQuality, codec, muted, enforceAudioTrack, proResProfile, x264Preset, pixelFormat, crf, videoBitrate, audioBitrate, audioCodec, everyNthFrame, numberOfGifLoops, disallowParallelEncoding, encodingBufferSize, encodingMaxRate, forSeamlessAacConcatenation, separateAudioTo, colorSpace, scale, logLevel, delayRenderTimeout, hardwareAcceleration, chromeMode, headless, disableWebSecurity, ignoreCertificateErrors, gl, userAgent, multiProcessOnLinux, darkMode, offthreadVideoCacheSizeInBytes, offthreadVideoThreads, mediaCacheSizeInBytes, beepOnFinish, repro, metadata, envVariables, inputProps, }: ReadOnlyStudioRenderCommandInput) => string;
export {};