Skip to content

Evidlo/picklecast

Repository files navigation

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.