ShareScreenRTC is a web application for sharing and viewing live video streams using WebRTC technology.
The app allows you to broadcast your screen or view a broadcast using a modern browser. A Python server is used to automate the signaling process, so you don't need to manually copy and paste the WebRTC offer and answer. With the server, you can simply scan a QR code on your phone and instantly join the stream.
- Live screen sharing and viewing via WebRTC
- Signaling automation using a simple Python server
- QR code support for easy connection from mobile devices
- No manual copying of SDP offer/answer required when using the server
ShareScreenRTC consists of two server components, both implemented in pure Python using only standard libraries. You do not need to install any dependencies or use pip.
In your project directory, run:
python3 server.pyor, on Windows:
python server.pyThe signaling server will listen on port 5000 by default.
You also need to serve the static web files (such as index.html, JavaScript, CSS, etc.) using Python’s built-in HTTP server.
In a second terminal window, run:
python -m http.server 80This will serve the web interface on http://localhost.
Note:
Make sure to run both servers at the same time:
- The HTTP server serves the web interface on port 80
- The signaling server handles WebRTC signaling on port 5000
Once both servers are running:
- Open your browser and go to http://localhost
- Start a broadcast or join a broadcast using the web interface
- Python 3.x (pre-installed on most systems)
- A modern web browser (Chrome, Firefox, Edge, etc.)
No additional Python packages or installations are required.
-
Permission denied or "Address already in use" on port 80:
You may need to run your terminal as Administrator/root, or use another port (e.g.python -m http.server 8080and open http://localhost:8080) -
Cannot access
server.pyfrom your browser:
Remember, the signaling server (server.py) does not serve the web interface. It only handles signaling for WebRTC.
The web interface is served by the HTTP server on port 80. -
Screen sharing not working on mobile browsers:
Most mobile browsers do not support screen sharing via WebRTC. Use a desktop browser for broadcasting your screen. Mobile devices can join as viewers via QR code.
