Skip to main content

Share your screen to a projector via web-browser

Project description

picklecast - Simple Screen Cast Receiver

Screen share to a RaspberryPi or display computer connected to a projector or TV.

Quickstart

Install and start the server on the display computer or RPi:

$ pip install picklecast
$ picklecast
Server address: 192.168.1.100
Display URL: http://localhost:8443/display   http://192.168.1.100:8443/display
Client URL: http://192.168.1.100:8443/

Then open the display URL in a web-browser on the display computer. You can now share your screen from a personal device by visiting the client URL.

Optionally install as a user service on Linux to keep it running the background:

picklecast install_service
systemctl --user daemon-reload
systemctl --user start picklecast

How it Works

Picklecast is just a Python program that serves HTML and relays handshake messages between two browsers. The streaming and displaying is handled in Javascript in the display/client browsers using the WebRTC api.

Caveats

  • Audio sharing only supported when sharing from Chrome on Windows (bugzilla).
  • Currently there can be only one browser open to the display URL at a time
  • Only desktop browsers are supported, as mobile browsers don't support getDisplayMedia
  • I've had issues getting the WebRTC APIs working correctly with Chrome on Windows. Help on this issue would be appreciated.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

picklecast-1.0.4.tar.gz (2.4 MB view details)

Uploaded Source

File details

Details for the file picklecast-1.0.4.tar.gz.

File metadata

  • Download URL: picklecast-1.0.4.tar.gz
  • Upload date:
  • Size: 2.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for picklecast-1.0.4.tar.gz
Algorithm Hash digest
SHA256 2a1327548a8c07241f89408610e96bf8f5e81828e79f86b0d8cfd2ffb7da8d5f
MD5 2997278c689030641114d244ea47b292
BLAKE2b-256 66df4f0d58555e733485fbb0bfc561e746763358017e191e6f72ff33e9c7aa88

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page