Thursday, 20 December 2018

Raspberry Pi [4]: Raspberry Pi vs Chromecast

I last wrote about my Raspberry Pi back in July, and since then it hasn't been used. I decided against using it to play videos because it had some trouble playing some of the ones in my collection. At this point I went back to playback from a computer, and subsequently pc4 was used for this role.

I am taking another look at the Pi as a media player for small group settings where you just need something that is small, compact, easy to carry around and quick to set up. At this point I am also making a comparison with a Chromecast.

Here is a quick comparison between the Pi and the Chromecast.


Raspberry Pi 3 Model BChromecast 2016
DescriptionSingle board computerStreaming media player
SOC / CPUBroadcom BCM2837 SOC, 1.2 GHz quad ARM Cortex-A53 processorsMarvell Armada 1500 Mini Plus 88DE3006 SoC, 1.2GHz dual ARM Cortex-A7 processors.
GPUBroadcom VideoCore IV?
RAM1GB LPDDR2 (900 MHz)512MB
Networking10/100 Ethernet, 2.4GHz 802.11n wireless802.11 ac (2.4GHz/5GHz)
BluetoothBluetooth 4.1 Classic, Bluetooth Low EnergyN/A
StoragemicroSD256MB flash, app based cloud
PortsHDMI, 3.5mm analogue audio-video jack, 4× USB 2.0, Ethernet, Camera Serial Interface (CSI), Display Serial Interface (DSI)Fixed HDMI cable 0.1 m
PowermicroUSB type BmicroUSB type B
Operating SystemRaspbian (Debian derivative) plus most Debian packages for ARM architectureUnknown proprietary
Core AccessoriesOptional case, optional power supplyIncluded power supply

The Raspberry Pi has a higher hardware spec overall. The Cortex A-53 quad processor is more powerful than the A-7 dual processor in the Chromecast; it is 64 bit capable (compared to 32 bit in the Chromecast). Power requirement for the Pi is greater if it needs to supply connected USB devices. The Pi's wifi only supports 2.4 GHz; the Chromecast is both 2.4 GHz and 5 GHz capable. The Pi can run ordinary Linux software and can store data on the microSD card and/or external USB devices; a Chromecast user does not have direct access to the small amount of internal flash storage and can only access cloud storage via apps. The Pi is a physically larger device, mainly due to the space taken up by the USB and network sockets attached to the board. If those sockets and the GPIO socket were taken off the board it would only be slightly larger than a Chromecast. The Pi can be booted off any available OS; the project homepage supplies Raspbian and also links to 3rd party OSs, including Windows 10 IOT.

I have both of these devices and have evaluated their performance for playing back videos. The Chromecast's main limitation is that it can only playback content via a compatible app. If you want to play your own videos they have to be on Google Drive or some other storage and there has to be a cast-enabled app that can play them. So far, while Google Photos was able to play my sample video clip, the video stuttered and there was no sound being played back. I now need to do some more research to discover if there are other apps available that may have better video performance and be able to play sound. The Chromecast uses your phone as a remote control for media playback, which is convenient since you don't need a multimedia keyboard. It is only possible to play back the audio via the HDMI connector to the TV; if your TV does not have HDMI audio capability or you need to connect an external audio device, you will need to purchase an HDMI splitter which costs itself more than a Chromecast. Setting up the Chromecast is easy. Plug in the HDMI cord to a socket on the TV and connect the power cable. Install the Google Home app on your phone, and it has some way of finding the Chromecast. Set up the Chromecast to connect to your wireless network and then add it in Google Home, and you're all set to go. In my case the Chromecast needed to download and install an update from Google, which happened automatically and seamlessly.

The Raspberry Pi can play back anything you want directly through its single HDMI output. There may be some issues with audio playback through the HDMI socket (due to general issues along this line in Debian) in which case the analogue audio/video socket is also available to connect to speakers. This is also an option if you don't want to use your TV's speakers. By default you would need to connect a multimedia keyboard to the Pi to control it. There are apps available for Android that can remote control various aspects of the Pi and eliminate the requirement for a keyboard. The Pi takes a lot more setup work than a Chromecast. Best outcome will be if you install one of the specialised Kodi-based distros for the Pi - either OSMC or LibreElec are choices. I have been testing both. My first attempt, with Raspbian, failed as I could not get any sound at playback. Once you have the image it has to be flashed onto the microSD card and then inserted into the Pi before turning it on. OSMC was able to play all my test videos with sound in the Kodi interface it provides. The sound came out of the HDMI and I haven't checked if there are any settings to split it to the analogue output socket.

My next steps in testing the Pi are to try out LibreElec as an alternative to OSMC to see if there is any real difference, and to see if a remote control app can be used on my phone instead of a keyboard. This is a much better option for a small media player. Another option is to fit a touchscreen to the Pi, as the board is designed to support one and they can be purchased. But I will leave that option and focus on the phone one. Next steps with the Chromecast are to try out some third party video apps and see if they can play back better than Google Photos.