Skip to main content

Mix video and audio

Media server for real-time, low latency, programmable video and audio mixing.

How does it work?

1. Either stream inputs in or provide them as MP4 files
2. Configure mixing with React components or via HTTP API
3. Write the outputs to a file or stream them to a separate service

Composing
import {
InputStream,
Image,
Rescaler,
Shader,
Text,
View,
} from "live-compositor"

function Example() {
return (
<View>
<Shader
shaderId="replace_green_screen"
resolution={{ width: 1920, height: 1080 }}>
<InputStream inputId="tv" />
<Image imageId="background" />
</Shader>
<Rescaler top={20} left={20} width={640} height={360}>
<InputStream inputId="bunny" />
</Rescaler>
<View
bottom={0}
left={0}
height={120}
backgroundColor="#B3B3B3">
<View />
<Text fontSize={100} weight="bold" color="#000000">
LiveCompositor 😃😍
</Text>
<View />
</View>
</View>
);
}

Use cases

Use LiveCompositor for video conferencing, live-streaming, broadcasting, and more.

Video conferencing

Stream or record video conferences

Video conferencing

Broadcasting

Compose broadcasts

Broadcasting

Live-streaming

Create awesome live-streams

Live-streaming

Vision

Make mixing live streams as simple as building a website.

Simple declarative API

Mixing is specified using simple component tree, easy to pick up for anyone familiar with web development.

Easy integration

API is language agnostic. You can leverage tech stack of your choice and easily integrate it with your own solutions.

Real-time and low latency

LiveCompositor targets real-time use cases, with a significant focus on situations where latency is critical.

Capabilities

Simple, powerful, fast. Pick three.

Batteries included

Process streams, render text, images, GIFs or websites, and combine them into output streams using high-level components.

Highly customizable

Create custom effects with WGSL shaders and directly leverage GPU parallel processing capabilities.

Audio support

Mix audio directly in LiveCompositor.

WebGPU and Rust

Leverage Rust and WebGPU rendering for great performance.

Animated transitions

Change layouts on the fly with animated transitions.

Real-time processing

Process live streams in real-time with low latency.

Offline processing

Use LiveCompositor for non-real-time use cases with offline processing mode.

Usage

Standalone server

LiveCompositor can be deployed as a standalone server. Language-agnostic API allows you to seamlessly integrate it into your existing solutions. Dockerfiles and deployment section in docs are meant to make the deployment process as easy as possible.


Membrane plugin

Membrane is a developer-friendly multimedia framework for Elixir. You can easily add video and audio composing functionality into your multimedia pipeline using Membrane LiveCompositor Plugin.

Licensing

LiveCompositor is licensed under Business Source License 1.1

Currently, allowed usage is limited to non-production use cases. If you are interested in the production usage contact us (see the section below).

What is the goal of those limitations?
  • We want to have insight into where and how LiveCompositor is used.
  • We want to block third parties from re-packaging and providing it as a SaaS.
  • In the future, we will add additional grants for free production usage (including commercial ones). However, at least for now, we want to keep the ability to decide that on a case-by-case basis.
What is not our goal?
  • We do not want to vendor-lock or provide predatory per-seat/per-core/per-instance pricing. Exact conditions will be discussed case-by-case, but you can expect terms you are comfortable with and that do not threaten your business model.
  • We do not want to block use cases already achievable with existing open-source tooling. You can expect that in most cases like that we will allow free production and commercial use.

Contact us

LiveCompositor is developed by Software Mansion - a software company that is specialized in building tools for developers. At Software Mansion, we work on multiple multimedia projects, like Membrane Framework, Elixir WebRTC, FishJam, and more. We also work on custom solutions for clients. Email us at [email protected] or contact us via this form.