Welcome to CASTRUST! A multi-platform screencasting application written in Rust for streaming and receiving content from peers.
CASTRUST is a screencasting application designed to stream your screen content or a selected area of it to a set of peers. It operates in two modes: as a caster (to stream content) or as a receiver (to connect to and view a stream). Built with Rust, CASTRUST ensures high performance, cross-platform compatibility, and flexibility for different use cases.
- Multi-Platform Support: Works seamlessly on Windows, macOS, and Linux.
- User Interface (UI): An intuitive, user-friendly interface for easy interaction with the application.
- Mode Selection:
- Caster Mode: Grab and stream screen content to peers.
- Receiver Mode: Connect to a caster’s stream using a specified address.
- Custom Area Selection: When in caster mode, users can select a specific area of the screen to stream.
- Hotkey Support: Customizable keyboard shortcuts for:
- Pausing/resuming the stream.
- Blanking the screen.
- Ending the session.
- Annotation Tools: Superimpose text, shapes, arrows, and other annotations on top of the screen content during casting.
- Save Options: In receiver mode, users can record the received stream and save it to a video file.
- Multi-Monitor Support: Cast content from any connected display, with support for multiple monitors.
- Rust Programming Language: Make sure you have Rust installed on your machine. You can install it from rust-lang.org.
- FFmpeg: CASTRUST requires FFmpeg for handling video streams.
Clone or download the CASTRUST repository to your local machine:
git clone https://github.com/marcochessa/CastRust/Alternatively, you can download the ZIP file from the repository and extract it to a folder.
Ensure that Rust and FFmpeg are installed on your machine.
To install FFmpeg on macOS, use the Homebrew package manager. If you don’t have Homebrew installed, you can install it by following the instructions at Homebrew website.
- Install FFmpeg with Homebrew:
brew install ffmpegFor Windows, download the FFmpeg binary directly from FFmpeg.org and set it up.
On Linux, you can install FFmpeg using your distribution’s package manager.
sudo apt update
sudo apt install ffmpegOnce the dependencies are installed, navigate to the root folder of the cloned repository, and build the application using Cargo:
cd castrust
cargo build --releaseAfter the build completes, you can run the application using the following command:
cargo run-
Run as a Caster:
- At startup, choose to run the application in caster mode.
- Select the screen or area to stream.
- Use customizable hotkeys to manage the session.
-
Run as a Receiver:
- Choose receiver mode at startup.
- Enter the address of the caster to start receiving the stream.
- Hotkeys:
- Pause Stream:
Ctrl + P - Resume Stream:
Ctrl + R - Stop Stream:
Ctrl + Q - Blank Screen:
Ctrl + B
- Pause Stream:
