A lot of us use a Google Chromecast to stream (or “cast”) movies, TV shows, home videos, and pictures to our televisions and theater room screens. It’s a great alternative to Apple’s proprietary Airplay service. However, many people have become hesitant to use some of the technology from these big tech conglomerates because of privacy issues and vendor lock in. There is an open source tool called Raspicast that lets you setup a Raspberry Pi Chromecast alternative!
Chromecast is a super simple technology from a user perspective. A Chromecast is small dongle plugged into an open HDMI port on a TV, projector, or monitor. Using a PC, Mac, or mobile device you can “cast” your screen or application to the display with a couple button taps. This is incredibly handy or getting content on your device to the big screen. Perfect for movies or even business presentations.
The Raspberry Pi Chromecast Alternative
In this tutorial we’re going to cover the Raspberry Pi Chromecast alternative Raspicast! It’s a great little service for the Pi that makes it easy to replace your Chromecast.
Parts list for this Project:
In order to get this working we’re going to install a few pieces of software on the Raspberry Pi. Once we’ve got everything installed and setup you’ll be able to cast content from your Android device right to your TV with the press of a button using the Raspicast app.
Raspicast uses the OMXPlayer which is already installed on the Raspberry Pi in the default Raspbian image. If you’re using a different operating system (most likely not), you may want to get another MicroSD card and install Raspbian. This will allow you to switch operating systems by switching the cards out.
However, to show pictures, we’ll need to install one more piece of software and a couple of supporting libraries. So let’s get started with that.
Make sure Raspbian is Up-To-Date
One of the most common problems we see with people following our tutorials is that they skip the step for updating Raspbian to the latest version. We keep our tutorials updated on a regular basis. So keeping your Raspberry Pi up to date is an important part of this tutorial.
To update your Raspberry Pi to the latest version, perform the following commands:
sudo apt update sudo apt upgrade
Once you’ve completed this reboot your Raspberry Pi to make sure everything is fresh by issuing the sudo reboot command.
Installing Supported Libraries and OpenMax
First, we need to install OpenMax. To do that we just need to clone it from its Git repository. This is super simple. Just enter the following command:
git clone https://github.com/HaarigerHarald/omxiv
Once that completes, install two image libraries, libjpeg8-dev and libpng12-dev. These libraries are required to compile the OpenMax image viewer we just downloaded. They provide support for both JPG and PNG files.
To install these we’ll use the apt installer:
sudo apt-get install libjpeg8-dev libpng12-dev
Now that we have the code and the libraries we can compile the OpenMax image viewer by issuing these commands:
cd omxiv make ilclient make sudo make install
Your Raspberry Pi Chromecast alternative is almost complete! We recommend another reboot of your Raspberry Pi to make sure everything is fresh (sudo reboot).
Note: Some will say these reboots are not necessary, and strictly they are not. However, each Pi is different and has different software installed and configured for different purposes. We don’t have a way to know your Pi’s specific configuration, so these reboots are simply a precautionary measure. If you feel comfortable everything is good on your Pi, you can skip them.
Preparing for Raspicast
To get ready for our Raspberry Pi Chromecast alternative – Raspicast, we’ll need to make sure SSH is enabled. Raspicast uses SSH to communicate between devices. You can enable SSH in two ways.
Enable SSH from the Command Line
My preferred method of enabling SSH is from the command line. Enter the following command:
This creates a blank file in the /boot partition that will tell the Raspbian to enable SSH on the next bootup. Now reboot your Raspberry Pi with sudo reboot to get SSH running.
Enable SSH from the GUI
The second best way to enable SSH is on the preferences pane in the Raspbian GUI. On the GUI desktop click the Raspberry Pi “start” button followed by Preferences –> Raspberry Pi Configuration, and then click the Interfaces tab. Click the SSH radio button for Enabled.
Installing Raspicast on Android
The last step is to install Raspicast on your Android device. Open the Google Play store and search for Raspicast. This application contains the functionality for casting media from your Android device to the Raspberry Pi.
Once Raspicast is installed, it will ask you for a few pieces of information. Enter the IP address of your Raspberry Pi (if you don’t know it you can run the command hostname -I to find it), along with the username and password used to login to your RPi (generally pi and raspberry if you’ve not changed it.)
Some applications have already included support for Raspicast. One such app is YouTube. Open a video in the YouTube application and select the share/cast button. From the list choose Raspicast and you’re on your way. More apps will likely add support for Raspicast over time.