Google Cast supports the following media facilities and types. Some of these require additional coding or the Media Player Library. See Receiver Applications for more information about developing your receiver application to support these media types.
All Google Cast receiver applications support the following.
Image formats
- BMP
- GIF
- JPEG
- PNG
- WEBP
Media container formats
- AAC
- MP3
- MP4
- WAV
- WebM
Video codecs
- H.264 High Profile Level 4.1 (the processor can decode up to 720/60 or 1080/30)
- VP8
Audio codecs
- HE-AAC
- LC-AAC
- MP3
- Vorbis
- WAV (LPCM)
Media type strings
MP4 video and audio
Video codec | Video profile | Audio codec | Audio profile | Media type string |
---|---|---|---|---|
H.264 level 3.0 | baseline | AAC | aac_he | video/mp4; codecs="avc1.42E01E, mp4a.40.5" |
aac_lc | video/mp4; codecs="avc1.42E01E, mp4a.40.2" | |||
MP3 | video/mp4; codecs="avc1.42E01E, mp4a.69" | |||
video/mp4; codecs="avc1.42E01E, mp4a.6B" | ||||
H.264 level 3.1 | baseline | AAC | aac_he | video/mp4; codecs="avc1.42E01F, mp4a.40.5" |
aac_lc | video/mp4; codecs="avc1.42E01F, mp4a.40.2" | |||
MP3 | video/mp4; codecs="avc1.42E01F, mp4a.69" | |||
video/mp4; codecs="avc1.42E01F, mp4a.6B" | ||||
H.264 level 3.1 | main | AAC | aac_he | video/mp4; codecs="avc1.4D401F, mp4a.40.5" |
aac_lc | video/mp4; codecs="avc1.4D401F, mp4a.40.2" | |||
MP3 | video/mp4; codecs="avc1.4D401F, mp4a.69" | |||
video/mp4; codecs="avc1.4D401F, mp4a.6B" | ||||
H.264 level 4.0 | main | AAC | aac_he | video/mp4; codecs="avc1.4D4028, mp4a.40.5" |
aac_lc | video/mp4; codecs="avc1.4D4028, mp4a.40.2" | |||
MP3 | video/mp4; codecs="avc1.4D4028, mp4a.69" | |||
video/mp4; codecs="avc1.4D4028, mp4a.6B" | ||||
H.264 level 4.0 | high | AAC | aac_he | video/mp4; codecs="avc1.640028, mp4a.40.5" |
aac_lc | video/mp4; codecs="avc1.640028, mp4a.40.2" | |||
MP3 | video/mp4; codecs="avc1.640028, mp4a.69" | |||
video/mp4; codecs="avc1.640028, mp4a.6B" | ||||
H.264 level 4.1 | high | AAC | aac_he | video/mp4; codecs="avc1.640029, mp4a.40.5" |
aac_lc | video/mp4; codecs="avc1.640029, mp4a.40.2" | |||
MP3 | video/mp4; codecs="avc1.640029, mp4a.69" | |||
video/mp4; codecs="avc1.640029, mp4a.6B" |
MP4 audio only
Format | Audio codec | Audio profile | Media type string |
---|---|---|---|
M4A | AAC | aac_he | audio/mp4; codecs="mp4a.40.5" |
aac_lc | audio/mp4; codecs="mp4a.40.2" | ||
MP3 | MP3 | audio/mp3 | |
MPA | MP3 | audio/mpeg | |
MP3 | audio/mpeg; codecs="mp3" | ||
MP4 | MP3 | audio/mp4; codecs="mp4a.69" | |
MP3 | audio/mp4; codecs="mp4a.6B" |
MP4 non-compliant audio media types
Format | Audio codec | Media type string |
---|---|---|
M4A | HE-AAC | audio/mp4; codecs="mp4a.40.05" |
LC-AAC | audio/mp4; codecs="mp4a.40.02" |
WebM video and audio
Format | Video codec | Audio codec | Media type string |
---|---|---|---|
WebM | VP8 | Vorbis | video/webm; codecs="vp8, vorbis" |
WebM (audio only) | Vorbis | audio/webm; codecs="vorbis" |
Audio passthrough
- AC-3 (Dolby® Digital™ audio technology)
- E-AC-3 (EC-3, Dolby® Digital Plus™ audio technology)
The Media Player Library (MPL) supports E-AC-3 passthrough. If
you're not using MPL, you can check the codec support prior to creating the source buffer by
using the MediaSource.isTypeSupported()
method and passing mp4a.a5
for
AC-3 or mp4a.a6
for E-AC-3.
Dolby, Dolby Digital, and Dolby Digital Plus are trademarks of Dolby Laboratories, Inc.
Media type strings
Format | Audio codec | Media type string |
---|---|---|
MP4 | AAC51 | audio/mp4; codecs="aac51" |
AC3 | audio/mp4; codecs="ac-3" | |
audio/mp4; codecs="mp4a.a5" | ||
EAC3 | audio/mp4; codecs="ec-3" | |
audio/mp4; codecs="mp4a.a6" |
Delivery methods and adaptive streaming protocols
These are available through use of the Media Player Library, or you may use your own player library.
- MPEG-DASH
- PlayReady (Security Level 2000)
- Widevine (Level 1)
- SmoothStreaming
- PlayReady (Security Level 2000)
- HTTP Live Streaming (HLS)
- AES-128 encryption
- Progressive download without adaptive switching (using the HTML
media
element only)
With adaptive bitrate streaming protocols, you must implement CORS. To implement an encrypted protocol, including DRM, you should develop a Custom Receiver. See DRM support for more information.
Subtitles & closed captions
Your subtitle resources must implement CORS.