google-castchromecastsmooth-streamingplayready

Chromecast support for Smooth Streaming with PlayReady


I'm aware that developer-preview of Chromecast receiver does not fully support Smooth Streaming manifest URL (See Update#1).

I have tested content provided by Microsoft PlayReady(TM) Test Server - Smooth Streaming assets using sample receiver app provider in GitHub project.

Smooth Streaming Support

As expected, manifest file does not work (See Update#1). But I was able to play individual ismv file (but only low bitrates). When I use higher bitrate, the video container stays black.

PlayReady Support

When I tried to play PlayReady protected low bitrate ismv file, I was expecting some sort of call back MediaProtocolMessageStream.onKeyRequested(). But there did not happen. Here is my android CustomMediaProtocolMessageStream implementation.


So, does anybody know how PlayReady or Widevine supposed to work with Chromecast? I have seen Netflix invokes some binary shell command when app is loaded in chromecast. But I assume, they worked with Google to accomplish this.

Additional SO Resources

Update #1

Based on Les Vogel's answer, smooth streaming manifest file for adaptive bitrate streaming is supported by Chromecast. You need custom player to handle that. As far as I am aware of, currently there are two JS player which can handle that, but I don't know if they will work on Chromecast.

  1. dash.js - By DASH Industry Forum (https://github.com/Dash-Industry-Forum/dash.js)
  2. Microsoft HTML5 Player Framework - Part of Microsoft Media Platform (http://playerframework.codeplex.com/)

Solution

  • Currently, you need to write your own media player to support adaptive bitrate streaming on Chromecast.

    Unfortunately, the MS test server assets do not correctly provide a CORS header, which would be needed if you wrote a javascript player.

    PlayReady and Windvine are both supported. We'll be providing additional documentation shortly.

    EDIT We announced the beta of the Cast Media Player Library today 2/3/14 - it supports HLS, SmoothStreaming, and MPEG Dash.