The Google CastSDK was released on February 3, 2014, allowing third parties to modify their software to support the protocol.[2] According to Google, over 20,000 Google Cast-ready apps were available as of May 2015. Support for Google Cast has since been integrated into subsequent devices, such as theNexus Player and otherAndroid TV devices (such as televisions), as well assoundbars, speakers, and later models of the Chromecast. Consumer devices that natively support the protocol were marketed asChromecast built-in from 2016[3] to 2024, after which the branding reverted back to the Google Cast name.[4] As of October 2017,[update] over 55 million Google Cast-enabled devices have been sold.[5]
Google Cast receivers can stream content via two methods: the first employsmobile andweb apps that support the Google Cast technology; the second allows mirroring of content from the web browserGoogle Chrome running on a personal computer, as well as content displayed on someAndroid devices.[6] In both cases, playback is initiated through the "cast" button on the sender device.[7]
The primary method of playing media on the device is through Google Cast–enabled mobile and web apps, which control program selection, playback, and volume. Google Cast receiver devices stream the media from the web within a local version of the Chrome browser,[8] thus freeing the sender device up for other tasks, such as answering a call or using another application, without disrupting playback. Mobile apps enabled for Google Cast are available for bothAndroid4.1+ andiOS7.0+; web apps enabled for Google Cast are available on computers running Google Chrome version 72 or later (onMicrosoft Windows7+,macOS10.7+, andChromeOS) through the installation of the "Castextension" in the browser.[9][10] Streamed content can be Internet-based, as provided by specific apps, or reside on the sender device's local storage.[11][12]
Content can also be mirrored from atab of the Chrome browser (with the Cast extension) on a personal computer or from the screen of some Android 4.4+ devices. In the case of "tab casting", the quality of the image depends on the processing power of the device, and minimum system requirements apply to video streaming. Content that usesplug-ins, such asSilverlight andQuickTime, does not fully work, as the stream may lack sound or image.[13][14] Similarly, screen images mirrored from Android devices are typically degraded, reflecting the fact that video displayed on the smaller screens of tablets and smartphones is usually downscaled.[6]
Sender devices previously needed to be connected to the same Wi-Fi network as a Google Cast receiver device to cast content,[15][16] until the addition of a "guest mode" feature on December 10, 2014.[17] When enabled, the feature allows sender devices to discover a nearby player by detectingultrasonic audio emitted by the television or speaker system to which the player is connected;[18][19] alternatively, the sender device can be paired with the receiver device using a four-digit PIN code.[19][20] Guest mode is only available for Chromecasts; the Nexus Player and Android TV devices do not support the feature.[21]
Icon for the "cast button", which is used to connect, control and disconnect from Google Cast receivers. The button can also represent compatible non-Cast receivers, such asBluetooth audio players.[22]
When the first-generation Chromecast was released, four Google Cast-compatible apps were available:YouTube andNetflix were supported as Android, iOS, and Chrome web apps;Google Play Music andGoogle Play Movies & TV were also supported, but originally only as Android apps.[23][24] Additional apps supporting casting would require access to the Google Castsoftware development kit (SDK). The SDK was first released as a preview version on July 24, 2013. Google advised interested developers to use the SDK to create and test apps, but not distribute them.[25] While that admonition remained in force, Google Cast-enabled applications forHulu Plus andPandora Radio were released in October 2013, andHBO GO in November.[26][27] Google invited developers to a two-dayhackathon on December 7 atGoogleplex, itsMountain View headquarters, offering the opportunity to test drive the SDK's "upcoming release".[28] The session attracted 40 developers from 30 companies and was followed by 10 additional apps, includingPlex, Avia, andRealplayer Cloud.[29]
Google opened the SDK to all developers on February 3, 2014.[30] In its introductory documentation and video presentation, Google said the SDK worked with both Chromecast devices and other unnamed "cast receiver devices". Chromecast product manager Rish Chandra said that Google used the intervening time to improve the SDK's reliability and accommodate those developers who sought a quick and easy way to cast a photo to a television without a lot of coding. Google also made the SDK a part of theGoogle Play Services framework, thereby giving users access to new apps without having to update Android itself.[31][32] Over time, many more applications have been updated to support Google Cast. At Google I/O 2014, the company announced that 6,000 registered developers were working on 10,000 Google Cast–ready apps;[33] by the following year's conference, the number of compatible apps had doubled.[34] Google has published case studies documenting Google Cast integration byComedy Central,Just Dance Now,Haystack News and Fitnet.[35]
The development framework has two components: a sender app and a receiver app, both of which make use ofAPIs provided by the SDK.
The sender app is based on a vendor's existing Android or iOS mobile app, or desktop web app, and provides users with content discovery and media controls, including the ability to select to which device content is streamed. Under the hood, sender apps can detect receiver devices on the same local network, establish a secure channel, and exchange messages.
The receiver app is a web app executing in a Chrome browser-like environment resident on the cast receiver device. Receiver apps of varying complexities can be developed depending on the variety of content formats the app can play. For example, a simple receiver app might just playHTML video content, whereas custom receiver apps, which require more programming effort, can take a variety of streaming protocols, includingMPEG-DASH,HTTP Live Streaming (HLS), and theMicrosoft Smooth Streaming Protocol.[31]
AtInternational CES 2015, Google announced an expansion to Google Cast called "Google Cast for audio", which allows apps that support the Google Cast SDK to play audio through compatible Wi-Fi–connected speakers,soundbars, and receivers.[37] Manufacturers supporting Google Cast as a built-in function in their speakers includeLG andSony.[38]
In May 2015, Google introduced new sets of APIs to Google Cast. The Cast Remote Display APIs allow developers to createsecond-screen experiences for apps such as games without needing to mirror displays. The Game Manager APIs offer developers more options for creating multiplayer games.[39] Lastly, additional APIs were provided to control autoplaying and queuing of content.[40]
In September 2015, Google announced "Fast Play" and accompanying developer tools, which are aimed at reducing the delays between loading content. In a typical scenario, if a user viewed the first three episodes of a television series, the fourth episode might load in the background.[41] The feature's release has since been delayed.[42]