Skip to content

marcochessa/RustCast

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CASTRUST - Multi-platform Screen-casting

CASTRUST

Welcome to CASTRUST! A multi-platform screencasting application written in Rust for streaming and receiving content from peers.

Description

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.

Key Features

  • 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.

Requirements

General Requirements

  • 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.

Installation

1. Clone or Download the Repository

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.

2. Install Dependencies

Ensure that Rust and FFmpeg are installed on your machine.


macOS

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 ffmpeg

Windows

For Windows, download the FFmpeg binary directly from FFmpeg.org and set it up.


Linux

On Linux, you can install FFmpeg using your distribution’s package manager.

Ubuntu/Debian-based systems:

sudo apt update
sudo apt install ffmpeg

3. Build and Run the Application

Once the dependencies are installed, navigate to the root folder of the cloned repository, and build the application using Cargo:

cd castrust
cargo build --release

After the build completes, you can run the application using the following command:

cargo run

Usage

  1. 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.
  2. Run as a Receiver:

    • Choose receiver mode at startup.
    • Enter the address of the caster to start receiving the stream.

Controls

  • Hotkeys:
    • Pause Stream: Ctrl + P
    • Resume Stream: Ctrl + R
    • Stop Stream: Ctrl + Q
    • Blank Screen: Ctrl + B

About

RustLive is a high-performance live streaming application built with the Rust programming language.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages