Skip to content

UmangX/rtc-screen-share

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

28 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

rtc screen share ( this is not webrtc because its for lan)

Stream your screen to any browser over LAN using WebRTC β€” no client installation required.

7xScreenShare is a lightweight, local-only screen sharing solution that streams your desktop to a browser via WebRTC. Designed for simplicity and speed, it eliminates the need for STUN/TURN servers, making it ideal for secure, low-latency screen sharing within a local network.


πŸš€ Project Goals

  • Zero Client Setup: Enable screen viewing in any modern browser without additional software.

  • LAN-Only Operation: Ensure all data remains within the local network for enhanced security and privacy.

  • Low Latency: Utilize FFmpeg and WebRTC to achieve minimal delay in screen streaming.

  • Cross-Platform Support: While initially tested on macOS, aim for compatibility with Linux and Windows.

  • Modular Design: Facilitate easy integration and extension for various use cases.


πŸ› οΈ Prerequisites

Before running the project, ensure the following are installed:

Note: This system is designed for LAN use and does not utilize STUN/TURN servers.


πŸ§ͺ Tested Environment

  • βœ… macOS (tested)

  • ⚠️ Linux (untested)

  • ⚠️ Windows (untested)


πŸ–₯️ Usage

  1. Start Screen Capture with FFmpeg:

    In one terminal window, run:

    make capture

  2. Run the WebRTC Server:

    In another terminal window, run:

    make server

  3. Access the Stream:

    Open your browser and navigate to:

    http://localhost:8080

    You should see your screen being streamed in real-time.


πŸ“ Project Structure

  • main.go: The Go server that handles WebRTC signaling and serves the web interface.

  • Makefile: Contains commands to start the FFmpeg capture and the Go server.

  • index.html: The client-side interface to view the stream.

  • README.md: Project documentation.


πŸ”§ Configuration

  • FFmpeg Capture Settings: Modify the make capture command in the Makefile to adjust resolution, frame rate, or input source.

  • Server Port: The default server runs on port 8080. To change this, modify the main.go file accordingly.


πŸ“œ License

This project is licensed under the MIT License.

About

local realtime screen sharing for macos and windows

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published