{ "info": { "author": "Alex Lubbock", "author_email": "code@alexlubbock.com", "bugtrack_url": null, "classifiers": [], "description": "# rpi-vidlooper\n\nA video looper for the Raspberry Pi, controlled by GPIO pins. Designed to\nrun an unattended video display, where users can select the active video\nby switch.\n\nMIT licensed.\n\n## Features\n\n* Play videos using [OMXplayer](https://elinux.org/Omxplayer), a hardware-\nassisted video player for smooth playback.\n* Switch between 2 or more videos using hardware switches wired to the\nRaspberry Pi's GPIO pins.\n* Optionally, indicate the active video by LED. This can be used with\narcade-style switches which have built-in LEDs, or separate ones.\n* Callback-based, rather than polling-based. This means that button\npresses should always be acted upon.\n* Thread locking, to avoid issues when buttons are pressed rapidly\nand the video hasn't finished loading yet.\n\n## Usage\n\nOn the hardware side, you'll need a Raspberry PI with several switches,\none for each video. Each switch should be connected to a GPIO pin, and\nto ground. Optionally, you can set up an indicator LED for each video,\nconnected to a GPIO pin.\n\nInstall dependencies:\n\n```\nsudo apt-get update\nsudo apt-get install python3-pip omxplayer\n```\n\nInstall rpi-vidlooper:\n\n```\npip3 install rpi-vidlooper\n```\n\nThis creates the `vidlooper` command. For usage help, see:\n\n```\nvidlooper --help\n```\n\n## Troubleshooting\n\n### RuntimeError: No access to /dev/mem. Try running as root!\n\nBy default, you'll need to run `sudo vidlooper`, to gain access to the GPIO\npins and the graphics card (GPU) for `omxplayer`. Generally, this is not\nrecommended.\n\nTo avoid this, the user you want to run the vidlooper as will need to be\nin the `gpio` group. For example, for the `pi` user, you'd need to do this:\n\n```\nsudo usermod -a -G gpio pi\n```\n\nSee [further information on this issue](https://raspberrypi.stackexchange.com/questions/40105/access-gpio-pins-without-root-no-access-to-dev-mem-try-running-as-root).\n\n### No rights to /dev/vchiq\n\nSee the [OMXplayer troubleshooting](https://elinux.org/Omxplayer) to fix\nthis issue. It's also possible to avoid by running `sudo vidlooper`, but\nas above, this is not recommended.\n\n## Further reading\n\n* [Python on the Raspberry Pi](https://www.raspberrypi.org/documentation/linux/software/python.md)\n* [OMXPlayer, a hardware-accelerated video player for Raspberry Pi](https://www.raspberrypi.org/documentation/raspbian/applications/omxplayer.md)", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "rpi-vidlooper", "package_url": "https://pypi.org/project/rpi-vidlooper/", "platform": "", "project_url": "https://pypi.org/project/rpi-vidlooper/", "project_urls": null, "release_url": "https://pypi.org/project/rpi-vidlooper/0.3/", "requires_dist": null, "requires_python": "", "summary": "Raspberry Pi GPIO-controlled video looper", "version": "0.3" }, "last_serial": 4724190, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "2117184473dd175252387cd7a3b29601", "sha256": "7223508605adff7a7a778c420ebc2757cc80b887a1e4c88a308a6bb418ed1613" }, "downloads": -1, "filename": "rpi_vidlooper-0.1.tar.gz", "has_sig": false, "md5_digest": "2117184473dd175252387cd7a3b29601", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21432, "upload_time": "2019-01-21T06:21:50", "url": "https://files.pythonhosted.org/packages/64/d7/ab6fd9cc67461a3d7c161f1c6196c8e314e43d8671a93328ca2c44671267/rpi_vidlooper-0.1.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "0f060889a34030f5df1150d841de13e4", "sha256": "ce6e72e44b26e58281c403bf84af48d6ddcff69ef89b84af90cff65c0042edf7" }, "downloads": -1, "filename": "rpi_vidlooper-0.2.1.tar.gz", "has_sig": false, "md5_digest": "0f060889a34030f5df1150d841de13e4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21441, "upload_time": "2019-01-22T02:24:44", "url": "https://files.pythonhosted.org/packages/09/55/55d994f14fe36d0ee1250a11b177e7a01534a0951e1036c60f8db778f975/rpi_vidlooper-0.2.1.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "52cd5141aa5b264560c50a36ee09deae", "sha256": "e1cbd5cc959e72fb6fb96f60a456670f59b83787bccc9cb85d6091e33dde3ad4" }, "downloads": -1, "filename": "rpi_vidlooper-0.3.tar.gz", "has_sig": false, "md5_digest": "52cd5141aa5b264560c50a36ee09deae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21587, "upload_time": "2019-01-22T03:02:03", "url": "https://files.pythonhosted.org/packages/61/5a/0fbfd8ec150d8a4bf2f980f7f82467f4905ac827355eb310a7582f985f2f/rpi_vidlooper-0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "52cd5141aa5b264560c50a36ee09deae", "sha256": "e1cbd5cc959e72fb6fb96f60a456670f59b83787bccc9cb85d6091e33dde3ad4" }, "downloads": -1, "filename": "rpi_vidlooper-0.3.tar.gz", "has_sig": false, "md5_digest": "52cd5141aa5b264560c50a36ee09deae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21587, "upload_time": "2019-01-22T03:02:03", "url": "https://files.pythonhosted.org/packages/61/5a/0fbfd8ec150d8a4bf2f980f7f82467f4905ac827355eb310a7582f985f2f/rpi_vidlooper-0.3.tar.gz" } ] }