Skip to Content
DocumentationAPI ReferenceCoreExporterClassesClass: FFmpegExporterClient

@revideo/core


@revideo/core / exporter / FFmpegExporterClient

Class: FFmpegExporterClient

Defined in: exporter/FFmpegExporter.ts:45 

FFmpeg video exporter.

Remarks

Most of the export logic is handled on the server. This class communicates with the FFmpegBridge through a WebSocket connection which lets it invoke methods on the FFmpegExporterServer class.

For example, calling the following method:

async this.invoke('process', 7);

Will invoke the process method on the FFmpegExporterServer class with 7 as the argument. The result of the method will be returned as a Promise.

Before any methods can be invoked, the FFmpegExporterServer class must be initialized by invoking start.

Implements

Constructors

Constructor

new FFmpegExporterClient(settings): FFmpegExporterClient

Defined in: exporter/FFmpegExporter.ts:67 

Parameters

settings

RendererSettings

Returns

FFmpegExporterClient

Properties

displayName

readonly static displayName: "Video (FFmpeg)" = 'Video (FFmpeg)'

Defined in: exporter/FFmpegExporter.ts:47 


id

readonly static id: "@revideo/core/ffmpeg" = '@revideo/core/ffmpeg'

Defined in: exporter/FFmpegExporter.ts:46 

Methods

downloadVideos()

downloadVideos(assets): Promise<void>

Defined in: exporter/FFmpegExporter.ts:119 

Download all assets necessary for the export process

Parameters

assets

AssetInfo[][]

Returns

Promise<void>

Implementation of

Exporter.downloadVideos


generateAudio()

generateAudio(assets, startFrame, endFrame): Promise<void>

Defined in: exporter/FFmpegExporter.ts:123 

Take in media assets per frame and generate audio track for the video.

Parameters

assets

AssetInfo[][]

startFrame

number

endFrame

number

Returns

Promise<void>

Implementation of

Exporter.generateAudio


handleFrame()

handleFrame(canvas): Promise<void>

Defined in: exporter/FFmpegExporter.ts:79 

Export a frame.

Parameters

canvas

HTMLCanvasElement

A canvas containing the rendered frame.

Returns

Promise<void>

Remarks

Called each time after a frame is rendered.

Implementation of

Exporter.handleFrame


kill()

kill(): Promise<void>

Defined in: exporter/FFmpegExporter.ts:115 

Finish the rendering process.

Returns

Promise<void>

Remarks

Guaranteed to be called after the rendering has finished - no matter the result. Performs clean-up.

Implementation of

Exporter.kill


mergeMedia()

mergeMedia(): Promise<void>

Defined in: exporter/FFmpegExporter.ts:140 

after processing the image stream and generating an audio file, merge the video and audio stream as the final video

Returns

Promise<void>

Implementation of

Exporter.mergeMedia


start()

start(): Promise<void>

Defined in: exporter/FFmpegExporter.ts:75 

Begin the rendering process.

Returns

Promise<void>

Remarks

Called after the rendering has been set up, right before the first frame is rendered. Once start() is called, it is guaranteed that the stop() method will be called as well. Can be used to initialize any resources that require a clean-up.

Implementation of

Exporter.start


stop()

stop(result): Promise<void>

Defined in: exporter/FFmpegExporter.ts:103 

Finish the rendering process.

Parameters

result

RendererResult

The result of the rendering.

Returns

Promise<void>

Remarks

Called after rendering the visual elements has finished and audio so that audio track can be merged.

Implementation of

Exporter.stop


create()

static create(_, settings): Promise<FFmpegExporterClient>

Defined in: exporter/FFmpegExporter.ts:52 

Parameters

_

Project

settings

RendererSettings

Returns

Promise<FFmpegExporterClient>

© 2026 Haven Technologies, Inc.
Class: FFmpegExporterClient – Revideo