An open source streaming stick with a few tricks up its sleeves
alternatively,
An extensible open-source daemon for displaying arbitrary media on the big screen.
- To achieve a user experience on par with the Google Chromecast
- To preserve the privacy and respect the attention of the user
- To provide an extensible platform for developing lightweight big screen experiences
- Note: The "Chromecast Use-case" is considered the first class use-case
- Less UI is better UI
- HTTP API that allows playing of any youtube-dl supported URLs
- Random pictures when idle
In its current implementation, Kast acts as a mediator between multiple processes (modules) which share exclusive access to the screen. The HTTP API allows local clients to invoke functions from each module, which may decide to pre-empt the current module (the default of which being the slideshow module). Once the running module is terminated, the new module is run. When any module terminates without being pre-empted, the slideshow module is automatically loaded. In addition to the slideshow module, the media module allows any youtube-dl supported media to be streamed.
Currently based on Raspbian Lite:
- DD raspbian lite to SD card
touch sshin boot if desired- Set passwords (
passwdandsudo passwd) raspi-config- Set hostname
ssh-copy-idsudo nano /etc/ssh/sshd_configPermitRootLogin noPasswordAuthentication no
- Install dependencies:
apt-get update && apt-get upgrade && apt-get install vlc chromium-browser unclutter lightdm bspwm python-pip pulseaudio - Optional: Install dev dependencies
apt-get install golang git - Install youtube-dl
sudo pip install --upgrade youtube_dl sudo nano /etc/lightdm/lightdm.conf- Find or set these values:
autologin-user=piautologin-session=bspwm
- Find or set these values:
- Clone the repo and go build / download the binary
- Copy
kastto/usr/bin/and copy the service files to/etc/systemd/user/ - Enable
kast.servicewith the--userflag - Reboot
You can now build and run the binary with DISPLAY=:0 XDG_RUNTIME_DIR=/run/user/1000 kast
To speed up boot:
https://www.myhelpfulguides.com/2018/10/20/how-improve-raspberry-pi-boot-time-raspbian-lite/s https://raspberrypi.stackexchange.com/questions/5256/how-can-i-improve-boot-time-on-raspbian
-
Disable services:
avahi-daemonbluetoothtriggerhappy
-
Edit configs
/boot/config.txtboot_delay=0