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.
As expected, (See Update#1). But I was able to play individual manifest
file does not workismv
file (but only low bitrates). When I use higher bitrate, the video container stays black.
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.
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.
dash.js
- By DASH Industry Forum (https://github.com/Dash-Industry-Forum/dash.js)Microsoft HTML5 Player Framework
- Part of Microsoft Media Platform (http://playerframework.codeplex.com/)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.