Skip to content

Commit

Permalink
Rename to live_compositor (#541)
Browse files Browse the repository at this point in the history
  • Loading branch information
wkozyra95 authored Apr 26, 2024
1 parent 986280b commit f68fe64
Show file tree
Hide file tree
Showing 53 changed files with 181 additions and 185 deletions.
28 changes: 14 additions & 14 deletions .github/workflows/package_for_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,13 @@ jobs:

- uses: actions/upload-artifact@v3
with:
name: video_compositor_linux_x86_64.tar.gz
path: video_compositor_linux_x86_64.tar.gz
name: live_compositor_linux_x86_64.tar.gz
path: live_compositor_linux_x86_64.tar.gz

- uses: actions/upload-artifact@v3
with:
name: video_compositor_with_web_renderer_linux_x86_64.tar.gz
path: video_compositor_with_web_renderer_linux_x86_64.tar.gz
name: live_compositor_with_web_renderer_linux_x86_64.tar.gz
path: live_compositor_with_web_renderer_linux_x86_64.tar.gz

linux-aarch64:
runs-on: ubuntu-latest
Expand Down Expand Up @@ -75,8 +75,8 @@ jobs:
cp *.tar.gz /artifacts
- uses: actions/upload-artifact@v3
with:
name: video_compositor_linux_aarch64.tar.gz
path: artifacts/video_compositor_linux_aarch64.tar.gz
name: live_compositor_linux_aarch64.tar.gz
path: artifacts/live_compositor_linux_aarch64.tar.gz

macos_x86_64:
runs-on: macos-12
Expand All @@ -95,13 +95,13 @@ jobs:

- uses: actions/upload-artifact@v3
with:
name: video_compositor_darwin_x86_64.tar.gz
path: video_compositor_darwin_x86_64.tar.gz
name: live_compositor_darwin_x86_64.tar.gz
path: live_compositor_darwin_x86_64.tar.gz

- uses: actions/upload-artifact@v3
with:
name: video_compositor_with_web_renderer_darwin_x86_64.tar.gz
path: video_compositor_with_web_renderer_darwin_x86_64.tar.gz
name: live_compositor_with_web_renderer_darwin_x86_64.tar.gz
path: live_compositor_with_web_renderer_darwin_x86_64.tar.gz

macos-aarch64:
runs-on: macos-14
Expand All @@ -120,10 +120,10 @@ jobs:

- uses: actions/upload-artifact@v3
with:
name: video_compositor_darwin_aarch64.tar.gz
path: video_compositor_darwin_aarch64.tar.gz
name: live_compositor_darwin_aarch64.tar.gz
path: live_compositor_darwin_aarch64.tar.gz

- uses: actions/upload-artifact@v3
with:
name: video_compositor_with_web_renderer_darwin_aarch64.tar.gz
path: video_compositor_with_web_renderer_darwin_aarch64.tar.gz
name: live_compositor_with_web_renderer_darwin_aarch64.tar.gz
path: live_compositor_with_web_renderer_darwin_aarch64.tar.gz
10 changes: 5 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,11 @@ target/
/failed_snapshot_tests
/docs/pages/api/generated

/video_compositor.app
/video_compositor
/video_compositor_linux_x86_64.tar.gz
/video_compositor_darwin_aarch64.tar.gz
/video_compositor_darwin_x86_64.tar.gz
/live_compositor.app
/live_compositor
/live_compositor_linux_x86_64.tar.gz
/live_compositor_darwin_aarch64.tar.gz
/live_compositor_darwin_x86_64.tar.gz

.direnv
/result
74 changes: 37 additions & 37 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[package]
name = "video_compositor"
name = "live_compositor"
version = "0.1.0"
edition = "2021"

Expand Down
18 changes: 9 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
# VideoCompositor
# LiveCompositor

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](https://en.wikipedia.org/wiki/WebRTC) / [HLS](https://en.wikipedia.org/wiki/HTTP_Live_Streaming) / [RTMP](https://en.wikipedia.org/wiki/Real-Time_Messaging_Protocol)).
LiveCompositor targets real-time use cases, like video conferencing, live-streaming, or broadcasting (e.g. with [WebRTC](https://en.wikipedia.org/wiki/WebRTC) / [HLS](https://en.wikipedia.org/wiki/HTTP_Live_Streaming) / [RTMP](https://en.wikipedia.org/wiki/Real-Time_Messaging_Protocol)).

## Features

VideoCompositor receives inputs and sends outputs streams via [RTP](https://en.wikipedia.org/wiki/Real-time_Transport_Protocol).
LiveCompositor receives inputs and sends outputs streams via [RTP](https://en.wikipedia.org/wiki/Real-time_Transport_Protocol).
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:
For the initial release, we want LiveCompositor to support those four types of transformations, that you can combine:

- 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
- Custom shader transformations - registering and using custom shaders, allowing to adapt LiveCompositor for specific business needs.
- Web Rendering - embedding videos in custom websites.
- Text Rendering

Currently, the project is under development and API is unstable.
Expand All @@ -35,10 +35,10 @@ cargo run --release --example <example_name>

## Supported platforms

Linux and MacOS.
Linux and macOS.

## Copyright

Copyright 2023, [Software Mansion](https://swmansion.com/?utm_source=git&utm_medium=readme&utm_campaign=video_compositor)
Copyright 2023, [Software Mansion](https://swmansion.com/?utm_source=git&utm_medium=readme&utm_campaign=live_compositor)

[![Software Mansion](https://logo.swmansion.com/logo?color=white&variant=desktop&width=200&tag=membrane-github)](https://swmansion.com/?utm_source=git&utm_medium=readme&utm_campaign=video_compositor)
[![Software Mansion](https://logo.swmansion.com/logo?color=white&variant=desktop&width=200&tag=membrane-github)](https://swmansion.com/?utm_source=git&utm_medium=readme&utm_campaign=live_compositor)
2 changes: 1 addition & 1 deletion RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

To release a new compositor version:

- Go to `Actions` -> [`package for release`](https://github.com/membraneframework/video_compositor/actions/workflows/package_for_release.yml) -> Trigger build on master using "Run workflow" drop-down menu.
- Go to `Actions` -> [`package for release`](https://github.com/membraneframework/live_compositor/actions/workflows/package_for_release.yml) -> Trigger build on master using "Run workflow" drop-down menu.
- Wait for a job to finish.
- Run `gh run list --workflow "package for release"` and find an ID of the workflow run that packaged release binaries. Running `./scripts/release.sh` without necessary environment variables will also display that list.
- Run
Expand Down
20 changes: 10 additions & 10 deletions build_tools/docker/full.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,10 @@ ARG USERNAME=compositor
ENV DEBIAN_FRONTEND=noninteractive
ENV NVIDIA_DRIVER_CAPABILITIES=compute,graphics,utility

ENV MEMBRANE_VIDEO_COMPOSITOR_MAIN_EXECUTABLE_PATH=/home/$USERNAME/video_compositor/main_process
ENV MEMBRANE_VIDEO_COMPOSITOR_PROCESS_HELPER_PATH=/home/$USERNAME/video_compositor/process_helper
ENV LD_LIBRARY_PATH=/home/$USERNAME/video_compositor/lib
ENV XDG_RUNTIME_DIR=/home/$USERNAME/video_compositor/xdg_runtime
ENV LIVE_COMPOSITOR_MAIN_EXECUTABLE_PATH=/home/$USERNAME/live_compositor/main_process
ENV LIVE_COMPOSITOR_PROCESS_HELPER_PATH=/home/$USERNAME/live_compositor/process_helper
ENV LD_LIBRARY_PATH=/home/$USERNAME/live_compositor/lib
ENV XDG_RUNTIME_DIR=/home/$USERNAME/live_compositor/xdg_runtime

RUN apt-get update -y -qq && \
apt-get install -y \
Expand All @@ -48,12 +48,12 @@ RUN apt-get update -y -qq && \
RUN useradd -ms /bin/bash $USERNAME && adduser $USERNAME sudo
RUN echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
USER $USERNAME
RUN mkdir -p /home/$USERNAME/video_compositor/xdg_runtime
WORKDIR /home/$USERNAME/video_compositor
RUN mkdir -p /home/$USERNAME/live_compositor/xdg_runtime
WORKDIR /home/$USERNAME/live_compositor

COPY --from=builder --chown=$USERNAME:$USERNAME /root/project/target/release/main_process /home/$USERNAME/video_compositor/main_process
COPY --from=builder --chown=$USERNAME:$USERNAME /root/project/target/release/process_helper /home/$USERNAME/video_compositor/process_helper
COPY --from=builder --chown=$USERNAME:$USERNAME /root/project/target/release/lib /home/$USERNAME/video_compositor/lib
COPY --from=builder --chown=$USERNAME:$USERNAME /root/project/docker/entrypoint.sh /home/$USERNAME/video_compositor/entrypoint.sh
COPY --from=builder --chown=$USERNAME:$USERNAME /root/project/target/release/main_process /home/$USERNAME/live_compositor/main_process
COPY --from=builder --chown=$USERNAME:$USERNAME /root/project/target/release/process_helper /home/$USERNAME/live_compositor/process_helper
COPY --from=builder --chown=$USERNAME:$USERNAME /root/project/target/release/lib /home/$USERNAME/live_compositor/lib
COPY --from=builder --chown=$USERNAME:$USERNAME /root/project/docker/entrypoint.sh /home/$USERNAME/live_compositor/entrypoint.sh

ENTRYPOINT ["./entrypoint.sh"]
8 changes: 4 additions & 4 deletions build_tools/docker/slim.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -41,12 +41,12 @@ RUN apt-get update -y -qq && \
RUN useradd -ms /bin/bash $USERNAME && adduser $USERNAME sudo
RUN echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
USER $USERNAME
RUN mkdir -p /home/$USERNAME/video_compositor
WORKDIR /home/$USERNAME/video_compositor
RUN mkdir -p /home/$USERNAME/live_compositor
WORKDIR /home/$USERNAME/live_compositor

COPY --from=builder --chown=$USERNAME:$USERNAME /root/project/target/release/main_process /home/$USERNAME/video_compositor/main_process
COPY --from=builder --chown=$USERNAME:$USERNAME /root/project/target/release/main_process /home/$USERNAME/live_compositor/main_process

ENV LIVE_COMPOSITOR_WEB_RENDERER_ENABLE=0
ENV LIVE_COMPOSITOR_WEB_RENDERER_GPU_ENABLE=0

ENTRYPOINT ["/home/compositor/video_compositor/main_process"]
ENTRYPOINT ["/home/compositor/live_compositor/main_process"]
4 changes: 2 additions & 2 deletions build_tools/nix/package.nix
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ let
rpath = lib.makeLibraryPath buildInputs;
in
rustPlatform.buildRustPackage {
pname = "video_compositor";
pname = "live_compositor";
version = "0.2.0-rc.1";
src = ../..;
cargoLock = {
Expand All @@ -63,7 +63,7 @@ rustPlatform.buildRustPackage {
''
rm -f $out/bin/generate_docs
rm -f $out/bin/generate_json_schema
rm -f $out/bin/video_compositor
rm -f $out/bin/live_compositor
rm -f $out/bin/package_for_release
rm -f $out/bin/update_snapshots
Expand Down
2 changes: 1 addition & 1 deletion compositor_chromium/src/context.rs
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ impl Context {
let framework_path = std::env::current_exe()?
.parent()
.unwrap()
.join("video_compositor.app")
.join("live_compositor.app")
.join("Contents")
.join("Frameworks")
.join("Chromium Embedded Framework.framework")
Expand Down
8 changes: 4 additions & 4 deletions compositor_chromium/src/settings.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ use chromium_sys::_cef_string_utf16_t;

use crate::cef_string::CefString;

pub const PROCESS_HELPER_PATH_ENV: &str = "MEMBRANE_VIDEO_COMPOSITOR_PROCESS_HELPER_PATH";
pub const PROCESS_HELPER_PATH_ENV: &str = "LIVE_COMPOSITOR_PROCESS_HELPER_PATH";

/// Main process settings
#[derive(Default)]
Expand Down Expand Up @@ -98,15 +98,15 @@ fn executables_paths() -> (_cef_string_utf16_t, _cef_string_utf16_t) {
let current_exe = env::current_exe().unwrap();
let current_dir = current_exe.parent().unwrap();

let main_bundle_path = PathBuf::from(current_dir).join("video_compositor.app");
let main_bundle_path = PathBuf::from(current_dir).join("live_compositor.app");

let browser_subprocess_path = main_bundle_path
.join("Contents")
.join("Frameworks")
.join("video_compositor Helper.app")
.join("live_compositor Helper.app")
.join("Contents")
.join("MacOS")
.join("video_compositor Helper");
.join("live_compositor Helper");

(
CefString::new_raw(main_bundle_path.display().to_string()),
Expand Down
12 changes: 6 additions & 6 deletions compositor_chromium/src/utils.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ use std::{fs, path::Path};
pub fn bundle_for_development(target_path: &Path) -> Result<()> {
let current_exe = env::current_exe()?;
let current_dir = current_exe.parent().unwrap();
let bundle_path = current_dir.join("video_compositor.app");
let bundle_path = current_dir.join("live_compositor.app");

bundle_app(target_path, &bundle_path)?;

Expand Down Expand Up @@ -60,11 +60,11 @@ pub fn bundle_app(target_path: &Path, bundle_path: &Path) -> Result<()> {

let helper_info = fs::read_to_string(target_path.join("resources").join("helper-Info.plist"))?;
let helpers = [
("video_compositor Helper", ""),
("video_compositor Helper (Alerts)", ".alerts"),
("video_compositor Helper (GPU)", ".gpu"),
("video_compositor Helper (Plugin)", ".plugin"),
("video_compositor Helper (Renderer)", ".renderer"),
("live_compositor Helper", ""),
("live_compositor Helper (Alerts)", ".alerts"),
("live_compositor Helper (GPU)", ".gpu"),
("live_compositor Helper (Plugin)", ".plugin"),
("live_compositor Helper (Renderer)", ".renderer"),
];

for (name, bundle_id) in helpers {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@ use crate::{
wgpu::common_pipeline::VERTEX_ENTRYPOINT_NAME,
};

const HEADER_DOCS_URL: &str =
"https://github.com/membraneframework/video_compositor/wiki/Shader#header";
const HEADER_DOCS_URL: &str = "https://compositor.live/docs/concept/shaders#header";

#[derive(Debug, thiserror::Error)]
pub struct ShaderParseError {
Expand Down
Loading

0 comments on commit f68fe64

Please sign in to comment.