Tristan Penman's Blog

New Series: Chromecast Deep Dive

21 March 2023

This post has arrived much later than I intended… Way way back at the tail end of 2020, I was assigned the task of developing a Chromecast receiver, capable of displaying screen mirrored content from Chrome or Android. In the process of doing this, I learned a lot about the underlying Google Cast protocol - enough so, that I thought it would be worth writing a series of posts about it. This series goes through the different layers of the Google Cast protocol, device authentication, and how apps work on a Chromecast device. Finally, it shows how a Google Cast receiver can be implemented in Go.

This result of this work has been published on GitHub as the GoCast project. This is an implementation of the Google Cast protocol, and includes an example Receiver app.

The first part of my Chromecast Deep Dive series has also been released today:

The rest of the series will be released in the coming weeks, and I’ll update this list with links as they become available:

  • Part 2 - Chromecast Apps
  • Part 3 - Playing Video or Audio
  • Part 4 - Device Authentication
  • Part 5 - Screen Mirroring and Decryption
  • Part 6 - A Working Receiver in Go