The address of a composition, as other services refer to it. Fishjam needs it to forward a room's tracks with FishjamClient.forwardRoomTracks.
Create a new composition. Inputs registered on it are composed into the scenes its outputs render.
Delete an existing composition. Its inputs and outputs are torn down with it.
Register a font that scenes can render text with. The font is either a Blob or a path
to read it from; never pass a path taken from untrusted input, since its contents are uploaded.
Register an image that scenes can reference by its renderer ID.
Register a media source on a composition. Prefer the variant methods, such as CompositionClient.registerWhipInput, which return what that input type produces.
Register an input that plays an MP4 file.
how much media the file holds, see Mp4InputDurations
Register an output, the destination the composed result is sent to, carrying the scene to render.
Register an input that an RTMP publisher pushes media into. The stream key identifies the input; the address to publish to belongs to the composition, not to this call.
Register an output sending the composed result to an RTMP endpoint.
Register an output rendering a template bundle, as built by @fishjam-cloud/composition-cli.
The bundle is either a Blob or a path to read it from; never pass a path taken from
untrusted input, since its contents are uploaded.
Register an input that pulls media from a WHEP endpoint.
Register an input that a WHIP publisher pushes media into.
the address and token to publish with, see WhipInputTarget
Register an output sending the composed result to a WHIP endpoint.
Ask an output to emit a keyframe, so a viewer joining mid-stream renders a full picture sooner.
Reset a composition, tearing down its scene while keeping the composition itself alive.
Deliver an event to the templates rendered by the composition's outputs.
Start a composition created with autostart disabled. Its outputs begin producing audio and video.
Unregister a previously registered image.
Unregister an input. Scenes referencing it stop receiving its media.
Unregister an output. It stops producing audio and video.
Replace the scene an output renders.
Client class that allows to manage compositions, the real-time video compositing sessions of a Fishjam App. It requires the management token that can be retrieved from the Fishjam Dashboard, the same one used by FishjamClient.
Example usage: