Skip to content

Effortless screen sharing directly from your browser, no downloads required.

License

Notifications You must be signed in to change notification settings

cu-sanjay/Screen-Stream-Over-HTTP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Screen Stream

Screen Stream Over HTTP

A lightweight web application for real-time screen sharing over HTTP using WebSockets. Built with Node.js, Express, and WebRTC, it enables users to share their screen with others via a generated link without requiring additional software.

Features

  • Real-time screen sharing with video and audio support
  • Browser-based, no installations needed
  • Unique session IDs for secure sharing
  • Dynamic copy-to-clipboard link generation
  • Responsive design with light/dark mode support

Prerequisites

  • Node.js (v18.0.0 or higher)
  • npm (v9.0.0 or higher)
  • Modern web browser with WebRTC support (e.g., Chrome, Firefox)

📸 Screenshots

Main Page User Interface

Main Page

Copy Link After Screen Sharing and Share Links

Copy Link Button

Installation

  1. Clone the repository:

    git clone https://github.com/cu-sanjay/Screen-Stream-Over-HTTP
    cd Screen-Stream-Over-HTTP
    
  2. Install dependencies:

    npm install
    

Usage

  1. Start the server:

    npm start
    

    The application will run on the specified port (default: 3000).

  2. Open your browser and navigate to http://localhost:3000.

  3. Click "Start Screen Sharing", grant screen capture permissions, and share the generated link with viewers.

  4. Viewers can access the stream by opening the link in their browser.

Development

Run with hot reloading for development:

npm run dev

Dependencies

  • express: Web framework for Node.js
  • ws: WebSocket library for real-time communication
  • uuid: Unique ID generation for sessions

Important

This project requires a WebSocket-compatible server. Static hosting (e.g., GitHub Pages) is not supported for the streaming functionality; deploy on a Node.js-compatible environment (e.g., localhost, Heroku - Not Free Anymore 🤨).

  • Ensure the server port is open and accessible for WebSocket connections.
  • Paths are relative (e.g., /stream.html) to support deployment on any domain.

Contributing

Contributions are welcome. Fork the repository, make changes, and submit a pull request.

License

MIT License. See LICENSE file for details.

About

Effortless screen sharing directly from your browser, no downloads required.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published