# picklecast - Simple Screen Cast Receiver
Screen share to a RaspberryPi or display computer connected to a projector or TV.
![](screenshot.png)
## 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.
<img src="architecture.svg" width="500px"/>
## Caveats
- Audio sharing only supported when sharing from Chrome on Windows ([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.
Raw data
{
"_id": null,
"home_page": "https://github.com/evidlo/picklecast",
"name": "picklecast",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "",
"author": "Evan Widloski",
"author_email": "evan_github@widloski.com",
"download_url": "https://files.pythonhosted.org/packages/13/4e/223c17a56f0333992e7826b889077d054173d1dff91184a5818e5c66924e/picklecast-1.0.3post1.tar.gz",
"platform": null,
"description": "# picklecast - Simple Screen Cast Receiver\n\nScreen share to a RaspberryPi or display computer connected to a projector or TV.\n\n![](screenshot.png)\n\n## Quickstart\n\nInstall and start the server on the display computer or RPi:\n\n $ pip install picklecast\n $ picklecast\n Server address: 192.168.1.100\n Display URL: http://localhost:8443/display http://192.168.1.100:8443/display\n Client URL: http://192.168.1.100:8443/\n \nThen 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.\n \nOptionally install as a user service on Linux to keep it running the background:\n\n picklecast install_service\n systemctl --user daemon-reload\n systemctl --user start picklecast\n\n## How it Works\n\nPicklecast 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.\n\n<img src=\"architecture.svg\" width=\"500px\"/>\n\n## Caveats\n\n- Audio sharing only supported when sharing from Chrome on Windows ([bugzilla](https://bugzilla.mozilla.org/show_bug.cgi?id=1541425)).\n- Currently there can be only one browser open to the display URL at a time\n- Only desktop browsers are supported, as mobile browsers don't support [getDisplayMedia](https://caniuse.com/?search=getDisplayMedia)\n- I've had issues getting the WebRTC APIs working correctly with Chrome on Windows. Help on this issue would be appreciated.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Share your screen to a projector via web-browser",
"version": "1.0.3.post1",
"project_urls": {
"Homepage": "https://github.com/evidlo/picklecast"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "134e223c17a56f0333992e7826b889077d054173d1dff91184a5818e5c66924e",
"md5": "96632eab28ab57a7bff9eed308cf62ed",
"sha256": "92c3fe6266d18c880fba282d86f3e042f66c4ed0068865b769f775158da3e063"
},
"downloads": -1,
"filename": "picklecast-1.0.3post1.tar.gz",
"has_sig": false,
"md5_digest": "96632eab28ab57a7bff9eed308cf62ed",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 2449020,
"upload_time": "2023-09-28T02:26:10",
"upload_time_iso_8601": "2023-09-28T02:26:10.888824Z",
"url": "https://files.pythonhosted.org/packages/13/4e/223c17a56f0333992e7826b889077d054173d1dff91184a5818e5c66924e/picklecast-1.0.3post1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-09-28 02:26:10",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "evidlo",
"github_project": "picklecast",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "picklecast"
}