picklecast


Namepicklecast JSON
Version 1.0.3.post1 PyPI version JSON
download
home_pagehttps://github.com/evidlo/picklecast
SummaryShare your screen to a projector via web-browser
upload_time2023-09-28 02:26:10
maintainer
docs_urlNone
authorEvan Widloski
requires_python
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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"
}
        
Elapsed time: 0.17851s