@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
Returns
FFmpegExporterClient
Properties
displayName
readonlystaticdisplayName:"Video (FFmpeg)"='Video (FFmpeg)'
Defined in: exporter/FFmpegExporter.ts:47
id
readonlystaticid:"@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
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
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
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
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
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
stop()
stop(
result):Promise<void>
Defined in: exporter/FFmpegExporter.ts:103
Finish the rendering process.
Parameters
result
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
create()
staticcreate(_,settings):Promise<FFmpegExporterClient>
Defined in: exporter/FFmpegExporter.ts:52
Parameters
_
settings
Returns
Promise<FFmpegExporterClient>