Skip to content

Commit

Permalink
rename main create
Browse files Browse the repository at this point in the history
  • Loading branch information
wkozyra95 committed Feb 2, 2025
1 parent 01bfabf commit 1a73b69
Show file tree
Hide file tree
Showing 69 changed files with 236 additions and 235 deletions.
11 changes: 6 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,12 @@ target/
/failed_snapshot_tests
/docs/pages/api/generated

/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
/smelter.app
/smelter
/smelter_linux_x86_64.tar.gz
/smelter_linux_aarch64.tar.gz
/smelter_darwin_x86_64.tar.gz
/smelter_darwin_aarch64.tar.gz

.direnv
/result
2 changes: 1 addition & 1 deletion ASSETS.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Assets

This section contains mentions of external assets used by LiveCompositor.
This section contains mentions of external assets used by Smelter.

## Demos assets

Expand Down
80 changes: 40 additions & 40 deletions Cargo.lock

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

4 changes: 2 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[package]
name = "live_compositor"
name = "smelter"
version = "0.3.0"
edition = "2021"
license = "BUSL-1.1"
Expand Down Expand Up @@ -27,7 +27,7 @@ decklink = ["compositor_api/decklink"]
web_renderer = ["dep:compositor_chromium", "compositor_api/web_renderer"]

[workspace.dependencies]
live_compositor = { path = "." }
smelter = { path = "." }
compositor_api = { path = "compositor_api" }
compositor_pipeline = { path = "compositor_pipeline" }
compositor_chromium = { path = "compositor_chromium" }
Expand Down
14 changes: 7 additions & 7 deletions DEVELOPMENT.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ to run **`./src/bin/main_process.rs`**

To run binary from specific create you need to run the command from that crate directory.

#### `live_compositor` create (root)
#### `smelter` create (root)

- `package_for_relase` - builds release binaries that can be uploaded to GitHub Releases
- `main_process` - main binary to start standalone compositor
Expand Down Expand Up @@ -134,11 +134,11 @@ If you made changes that modify the snapshot:

### Packages

- `live-compositor` - React components and common API types. (analog of `react` package).
- `@live-compositor/core` - Base implementation that is used by packages like `@live-compositor/node`.
- `@live-compositor/node` - Node.js SDK for compositor (analog of `react-dom` for Node.js)
- `@live-compositor/web-wasm` - Browser SDK for compositor that includes compositor compiled to WASM (analog of `react-dom` for Node.js)
- `@live-compositor/browser-render` - Rendering ending from LiveCompositor compiled to WASM.
- `@swmansion/smelter` - React components and common API types. (analog of `react` package).
- `@swmansion/smelter-core` - Base implementation that is used by packages like `@swmansion/smelter-node`.
- `@swmansion/smelter-node` - Node.js SDK for compositor (analog of `react-dom` for Node.js)
- `@swmansion/smelter-web-wasm` - Browser SDK for compositor that includes compositor compiled to WASM (analog of `react-dom` for Node.js)
- `@swmansion/smelter-browser-render` - Rendering engine from Smelter compiled to WASM.
- Run `pnpm run build-wasm` to build WASM bundle from Rust code
- Run `pnpm run build` to build JS code (WASM has to be build earlier, or use `build:all` in root directory to build everything)

Expand Down Expand Up @@ -172,7 +172,7 @@ To run Node.js example against Rust code from the repo you need to in the root d

```
cargo build -r --no-default-features
export LIVE_COMPOSITOR_PATH=$(pwd)/target/release/main_process
export SMELTER_PATH=$(pwd)/target/release/main_process
```

#### Web WASM: **`./ts/examples/vite-browser-render`**
Expand Down
16 changes: 8 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
<h1 align="center">
<img src="assets/lc_logo_large.svg" width=600 alt="LiveCompositor">
<img src="assets/lc_logo_large.svg" width=600 alt="Smelter">

<a href="https://compositor.live/docs/intro">Documentation</a> |
<a href="https://discord.gg/Cxj3rzTTag">Discord</a>
</h1>

LiveCompositor is a media server for real-time, low latency, programmable video and audio mixing.
Smelter is a media server for real-time, low latency, programmable video and audio mixing.

LiveCompositor targets real-time use cases, with a significant focus on situations where latency is critical. It is a great fit
Smelter targets real-time use cases, with a significant focus on situations where latency is critical. It is a great fit
for any video conferencing, live-streaming, or broadcasting solutions where you need to combine or modify video on the fly.
However, you can also use it for non-real-time use cases, for example, apply some effect on a video from an MP4 file and write the output
to the new MP4.
Expand All @@ -18,18 +18,18 @@ https://github.com/user-attachments/assets/d8716866-67bd-4721-b1c2-1a1d31e1c5b5

Check out our [`Getting started`](https://compositor.live/docs/intro) section.

LiveCompositor supports Linux and macOS and can be used in 3 ways:
Smelter supports Linux and macOS and can be used in 3 ways:
- TypeScript SDK - [TypeScript SDK Reference](https://compositor.live/docs/typescript/api)
- Standalone media server - [API Reference](https://compositor.live/docs/api/routes).
- Element in a Membrane Framework pipeline - [https://hexdocs.pm/membrane_live_compositor_plugin](https://hexdocs.pm/membrane_live_compositor_plugin).

## Demos

This is just a sample of effects that you can achieve with LiveCompositor. It is a compilation of a few demo projects
This is just a sample of effects that you can achieve with Smelter. It is a compilation of a few demo projects
written in TypeScript that you can find in [`demos`](./demos) directory.

## LiveCompositor is created by Software Mansion
## Smelter is created by Software Mansion

[![swm](https://logo.swmansion.com/logo?color=white&variant=desktop&width=150&tag=live-compositor-github 'Software Mansion')](https://swmansion.com)
[![swm](https://logo.swmansion.com/logo?color=white&variant=desktop&width=150&tag=smelter-github 'Software Mansion')](https://swmansion.com)

Since 2012 [Software Mansion](https://swmansion.com) is a software agency with experience in building web and mobile apps as well as complex multimedia solutions. We are Core React Native Contributors and experts in live streaming and broadcasting technologies. We can help you build your next dream product – [Hire us](https://swmansion.com/contact/projects?utm_source=live-compositor&utm_medium=readme).
Since 2012 [Software Mansion](https://swmansion.com) is a software agency with experience in building web and mobile apps as well as complex multimedia solutions. We are Core React Native Contributors and experts in live streaming and broadcasting technologies. We can help you build your next dream product – [Hire us](https://swmansion.com/contact/projects?utm_source=smelter&utm_medium=readme).
4 changes: 2 additions & 2 deletions build_tools/docker/full.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@ ARG USERNAME=smelter
ENV DEBIAN_FRONTEND=noninteractive
ENV NVIDIA_DRIVER_CAPABILITIES=compute,graphics,utility

ENV LIVE_COMPOSITOR_MAIN_EXECUTABLE_PATH=/home/$USERNAME/smelter/main_process
ENV LIVE_COMPOSITOR_PROCESS_HELPER_PATH=/home/$USERNAME/smelter/process_helper
ENV SMELTER_MAIN_EXECUTABLE_PATH=/home/$USERNAME/smelter/main_process
ENV SMELTER_PROCESS_HELPER_PATH=/home/$USERNAME/smelter/process_helper
ENV LD_LIBRARY_PATH=/home/$USERNAME/smelter/lib
ENV XDG_RUNTIME_DIR=/home/$USERNAME/smelter/xdg_runtime

Expand Down
4 changes: 2 additions & 2 deletions build_tools/docker/slim.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ WORKDIR /home/$USERNAME/smelter

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

ENV LIVE_COMPOSITOR_WEB_RENDERER_ENABLE=0
ENV LIVE_COMPOSITOR_WEB_RENDERER_GPU_ENABLE=0
ENV SMELTER_WEB_RENDERER_ENABLE=0
ENV SMELTER_WEB_RENDERER_GPU_ENABLE=0

ENTRYPOINT ["/home/smelter/smelter/main_process"]
2 changes: 1 addition & 1 deletion build_tools/nix/flake.nix
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
description = "Dev shell for LiveCompositor";
description = "Dev shell for Smelter";

inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
Expand Down
12 changes: 6 additions & 6 deletions build_tools/nix/package.nix
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ let
rpath = lib.makeLibraryPath buildInputs;
in
rustPlatform.buildRustPackage {
pname = "live_compositor";
version = "0.3.0";
pname = "smelter";
version = "0.4.0";
src = ../..;
cargoLock = {
lockFile = ../../Cargo.lock;
Expand All @@ -50,14 +50,14 @@ rustPlatform.buildRustPackage {

postFixup =
''
rm -f $out/bin/live_compositor
rm -f $out/bin/smelter
rm -f $out/bin/package_for_release
mv $out/bin/main_process $out/bin/live_compositor
mv $out/bin/main_process $out/bin/smelter
'' + (
lib.optionalString stdenv.isLinux ''
patchelf --set-rpath ${rpath} $out/bin/live_compositor
wrapProgram $out/bin/live_compositor \
patchelf --set-rpath ${rpath} $out/bin/smelter
wrapProgram $out/bin/smelter \
--prefix XDG_DATA_DIRS : "${mesa.drivers}/share" \
--prefix LD_LIBRARY_PATH : "${mesa.drivers}/lib"
''
Expand Down
2 changes: 1 addition & 1 deletion compositor_api/src/types/from_register_input.rs
Original file line number Diff line number Diff line change
Expand Up @@ -316,7 +316,7 @@ impl TryFrom<DeckLink> for pipeline::RegisterInputOptions {
#[cfg(not(feature = "decklink"))]
fn try_from(_value: DeckLink) -> Result<Self, Self::Error> {
Err(TypeError::new(
"This Live Compositor binary was build without DeckLink support. Rebuilt it with \"decklink\" feature enabled.",
"This Smelter binary was build without DeckLink support. Rebuilt it with \"decklink\" feature enabled.",
))
}
}
8 changes: 4 additions & 4 deletions compositor_api/src/types/register_input.rs
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ pub struct RtpInput {
/// Parameters of an audio source included in the RTP stream.
pub audio: Option<InputRtpAudioOptions>,
/// (**default=`false`**) If input is required and the stream is not delivered
/// on time, then LiveCompositor will delay producing output frames.
/// on time, then Smelter will delay producing output frames.
pub required: Option<bool>,
/// Offset in milliseconds relative to the pipeline start (start request). If the offset is
/// not defined then the stream will be synchronized based on the delivery time of the initial
Expand All @@ -37,7 +37,7 @@ pub struct WhipInput {
/// Parameters of an audio source included in the RTP stream.
pub audio: Option<InputWhipAudioOptions>,
/// (**default=`false`**) If input is required and the stream is not delivered
/// on time, then LiveCompositor will delay producing output frames.
/// on time, then Smelter will delay producing output frames.
pub required: Option<bool>,
/// Offset in milliseconds relative to the pipeline start (start request). If the offset is
/// not defined then the stream will be synchronized based on the delivery time of the initial
Expand All @@ -58,7 +58,7 @@ pub struct Mp4Input {
#[serde(rename = "loop")]
pub should_loop: Option<bool>,
/// (**default=`false`**) If input is required and frames are not processed
/// on time, then LiveCompositor will delay producing output frames.
/// on time, then Smelter will delay producing output frames.
pub required: Option<bool>,
/// Offset in milliseconds relative to the pipeline start (start request). If offset is
/// not defined then stream is synchronized based on the first frames delivery time.
Expand Down Expand Up @@ -98,7 +98,7 @@ pub struct DeckLink {
pub enable_audio: Option<bool>,

/// (**default=`false`**) If input is required and frames are not processed
/// on time, then LiveCompositor will delay producing output frames.
/// on time, then Smelter will delay producing output frames.
pub required: Option<bool>,
}

Expand Down
2 changes: 1 addition & 1 deletion compositor_api/src/types/register_output.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ use super::*;
pub struct RtpOutput {
/// Depends on the value of the `transport_protocol` field:
/// - `udp` - An UDP port number that RTP packets will be sent to.
/// - `tcp_server` - A local TCP port number or a port range that LiveCompositor will listen for incoming connections.
/// - `tcp_server` - A local TCP port number or a port range that Smelter will listen for incoming connections.
pub port: PortOrPortRange,
/// Only valid if `transport_protocol="udp"`. IP address where RTP packets should be sent to.
pub ip: Option<Arc<str>>,
Expand Down
2 changes: 1 addition & 1 deletion compositor_api/src/types/util.rs
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ pub enum PortOrPortRange {
pub enum TransportProtocol {
/// UDP protocol.
Udp,
/// TCP protocol where LiveCompositor is the server side of the connection.
/// TCP protocol where Smelter is the server side of the connection.
TcpServer,
}

Expand Down
2 changes: 1 addition & 1 deletion compositor_chromium/chromium_sys/build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ fn main() -> Result<()> {
println!("cargo:rerun-if-env-changed=CEF_ROOT");

let out_dir = PathBuf::from(env::var("OUT_DIR")?);
let cache_dir = dirs::cache_dir().unwrap().join("live-compositor");
let cache_dir = dirs::cache_dir().unwrap().join("smelter");
let cef_root = env::var("CEF_ROOT")
.map(PathBuf::from)
.unwrap_or(cache_dir.join("cef_root"));
Expand Down
2 changes: 1 addition & 1 deletion compositor_chromium/chromium_sys/resources/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIdentifier</key>
<string>stream.membrane.videocompositor</string>
<string>swmansion.smelter</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIdentifier</key>
<string>stream.membrane.videocompositor${BUNDLE_ID_SUFFIX}</string>
<string>swmansion.smelter${BUNDLE_ID_SUFFIX}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
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("live_compositor.app")
.join("smelter.app")
.join("Contents")
.join("Frameworks")
.join("Chromium Embedded Framework.framework")
Expand Down
Loading

0 comments on commit 1a73b69

Please sign in to comment.