How to use your Raspberry Pi as a Chromecast alternative

Google’s Chromecast is one of the most popular audio and video streaming devices out there. The small device plugs into an HDMI port and is controlled by a computer or mobile device. Casting is as simple as tapping a button in supported apps. But Chromecast isn’t your only option for this sort of functionality – you can do something similar with the Raspberry Pi.

In this tutorial, I’m going to show you how you can use your Raspberry Pi as a Chromecast alternative. It’s worth a mention that this will make your Raspberry Pi be exactly that: an alternative to, not a carbon copy of, Google’s device. This alternative doesn’t support Google’s Cast button, but it does support streaming YouTube videos as well as local audio, images, and videos from your smart device to your TV. Here’s how to use your Raspberry Pi as a Chromecast alternative.

How to use your Raspberry Pi as a Chromecast alternative

For this project, we’ll need to have a couple of programs installed on the Raspberry Pi (OMXPlayer and OpenMax image viewer for the Raspberry Pi) and one installed on the device you want to cast from (Raspicast). The audio and video content that you stream from your smart device to your Raspberry Pi and your TV will be played using OMXPlayer, and the image content will be displayed using OpenMax image viewer for the Raspberry Pi.

We want to use our Chromecast alternative to cast images, so we’ll need to have OpenMax image viewer for the Raspberry Pi installed. The program’s repository resides on GitHub. Let’s clone the repository to our Raspberry Pi. Open Terminal and run the following command:

git clone https://github.com/HaarigerHarald/omxiv

Alright, let’s move on.

Step 4: Install the necessary packages

Cloning the image viewer’s repository isn’t enough: we still have to build and install the program. In order to build the image viewer, we’ll need to have some additional packages installed. Here is the command that we have to run next:

sudo apt-get install libjpeg8-dev libpng12-dev

These packages (libjpeg8-dev and libpng-12-dev) contain the development headers needed to build programs that use the libjpeg and libpng libraries. Libjpeg and libpng are C libraries for handling JPEG and PNG images, respectively.

Step 5: Build and install

We’re now ready for building and installing the OpenMax image viewer. These short commands are all we need:

cd omxiv
make ilclient
make
sudo make install

Now that we the image viewer installed, we won’t be needing the Pi for a short while.

Step 6: Download and install Raspicast

On your Android device, launch the Google Play Store and search for Raspicast. Raspicast is the app that lets us stream content from our smart devices to our Raspberry Pis and our TVs. After you’ve installed Raspicast, you’ll need to modify some settings.

Raspicast needs to know your Raspberry Pi’s IP address and credentials in order to work properly. Hop back onto your Pi and run this command in Terminal:

hostname -I

The command will return your Raspberry Pi’s private IP address. Write that down and continue with Raspicast’s settings dialog. If you haven’t changed your credentials, your username is pi and your password is raspberry.

Once you’re ready with the settings, Raspicast should be able to connect to your Pi, and you should be able to stream content from your mobile device to the big screen. Just tap Cast on Raspicast’s home screen and choose the content that you want to be casted. If you want to cast YouTube videos, you can do so within the YouTube app: choose a video, tap the share button, and select Raspicast from the list of choices.

However one correction:
Step 5 – you need to be in the omxiv directory (created by the git command on Step 3) before you can issue the make command. So between Step 4 and 5 type “cd omxiv” and continue with the rest of the instructions.

I wanted to use this to have a Raspberry Pi based digital photo frame plus the option to cast. Basically these features:
1. Being able to cast from Google Photos (kind of work but the sharing is a little clunky and can’t be put on slideshow mode).
2. Have the Pi boot up on photo slide show automatically (obtaining the media from Google Photos directly).