Skip to content

Application for real-time video processing / transforming / composing

License

Notifications You must be signed in to change notification settings

nickdichev-firework/video_compositor

 
 

Repository files navigation

VideoCompositor

Application for real-time video processing/transforming/composing, providing simple, language-agnostic API for live video rendering.

VideoCompositor targets real-time use cases, like video conferencing, live-streaming, or broadcasting (e.g. with WebRTC / HLS / RTMP).

Features

VideoCompositor receives inputs and sends outputs streams via RTP. HTTP API is used to define how inputs should be transformed and combined to produce desired outputs.

For the initial release, we want VideoCompositor to support those four types of transformations, that you can combine together:

  • Common transformations - frequently used, already implemented transformations, like layouts, grids, cropping, corners rounding, blending, fading, etc.
  • Custom shader transformations - registering and using custom shaders, allowing to adapt VideoCompositor for specific business needs
  • Web Rendering - embedding videos in custom websites
  • Text Rendering

Currently, the project is under development and API is unstable.

Examples

Examples source code is under the examples directory.

Running examples requires:

For better performance, build examples with the release compilation profile:

cargo run --release --example <example_name>

You can also check out RTC.ON 2023 workshops repo for more examples / exercises.

Supported platforms

Linux and MacOS.

Copyright

Copyright 2023, Software Mansion

Software Mansion

About

Application for real-time video processing / transforming / composing

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 97.2%
  • WGSL 2.0%
  • Shell 0.3%
  • Dockerfile 0.3%
  • CMake 0.1%
  • JavaScript 0.1%