Metadata-Version: 2.4
Name: picklecast
Version: 1.1.0
Summary: Share your screen to a projector via web-browser
Author-email: Evan Widloski <evan_github@widloski.com>
License-Expression: MIT
Project-URL: Homepage, https://github.com/evidlo/picklecast
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# picklecast - WebRTC Screen Caster

Eliminate your dependence on Chromecast!

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

![](screenshot.png)

[Access Picklecast here](http://evidlo.github.io/picklecast/display.html)

## How it Works

Picklecast is a client-side application that uses [p2pt](https://github.com/subins2000/p2pt) to establish the initial handshake between two browsers before setting up the WebRTC stream.

<img src="architecture.svg" width="500px"/>

The app is hosted entirely on Github pages and has no backend (aside from public Webtorrent servers).

## Offline Mode

Picklecast can run in an offline setting by locally hosting a small Python handshake server to connect the WebRTC clients.

    $ pip install picklecast
    $ picklecast --local
    Server address: 192.168.1.193
    Display URL:  https://192.168.1.193:8443/display
    Client URL:   https://192.168.1.193:8443/
    Public trackers disabled (--local)

## Caveats

- Audio sharing only supported from Chrome ([bugzilla](https://bugzilla.mozilla.org/show_bug.cgi?id=1541425)).
- 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](https://caniuse.com/?search=getDisplayMedia)
- I've had issues getting the WebRTC APIs working correctly with Chrome on Windows.  Help on this issue would be appreciated.
