❗ Important notice
This is still alpha. It may work but still need some work and debug.
The documentation is only a draft at this time.
If you feel adventurous, don't hesitate to play and contribute.
What is it ?
Raspikid is a simple python script that plays video on a raspberry pi.
Input is made via a barcode scanner to play media displayed on a paper card or to prompt some command (pause, stop, …)
This allow a young child to have an easily portable media player that can connect to any HDMI screen to play his favorite cartoons.
Why ?
- autonomous usage
- physical content of media
- easy usage control for parents
- may develop will to learn how to hack it
- distraction free (no ads, no push of other content like youtube/netflix)
How to install
You will need of course a raspberry, a micro SD card and a barcode reader (I use this one)
- Download raspbian lite and follow the installation guide here.
- If you need to activate SSH and configure wifi, follow this instructions.
- After a fresh install, boot the rasppberry, and either connect it to a screen+keyboard or via SSH.
- Run the following command. This will install raspikid.
curl -sL https://victorcerutti.github.io/raspikid/install.sh | sh
How to configure (parents)
- Add movies to the movies directory (ex: BigBuckBunny.mp4)
- Reference them with a short code (used for the barcode) in movies.txt (ex: BUNNY)
- Generate the barcode with an online generator (ex: https://barcode.tec-it.com/en/Code128?data=BUNNY)
- Save and print the image. Be creative !
- Also print some simple PAUSE, STOP and SHUTDOWN barcode (TODO: provide them)
- It should now work !
How to use it (children)
- The program should start after booting the raspberry.
- Just scan a barcode to start playing the video.
- If needed, you can scan PAUSE or STOP to control the playback.
- When you are done, scan SHUTDOWN to close the app and shut the pi down.
Next steps / Contributions
If you want to contribute, you are more than welcome. Write an issue if needed or just fork and submit a PR.
This are the next goal to achieve, no particular order :
- smart logs (number of plays, video time…)
- parental control (limit to a certain time per day)
- REST api for distant control (stop, pause, ability to block)
- integrate with Home Assistant as a media player
Credits
Logo crafted from icons made by Freepik from Flaticon
Big Buck Bunny is licensed under the Creative Commons Attribution 3.0 license. (c) copyright 2008, Blender Foundation / www.bigbuckbunny.org