0

We want to play Smoothstreaming URL by providing Manifest file of smoothstreaming to Chromecast device.

We could play the following on Chromecast device, 1. .mp4 file 2. .ismv file 3. .isma file.

But, if we provide an Manifest file as follows, we are not able to play on Chromecast device. http://playready.directtaps.net/smoothstreaming/SSWSS720H264/SuperSpeedway_720.ism/Manifest

Please let us know how to play Smoothstreaming URL on Chromecast device.

Or do we need to play .ismv files one by one by providing them in a loop.

ABS
  • 141
  • 3
  • Dash content is claimed as being supported, but the Dash manifest apparently is not supported. I've tried just passing a manifest directly to the default application and nothing plays. It looks like the Media Source Extensions are available on the device though, so it's possible to play Dash content through that api (which I've already done.) I'm willing to bet that Smooth Streaming requires a similar approach. – Nathan Aug 21 '13 at 14:29
  • 1
    This is currently being worked on and should be available with the final SDK release. – Les Vogel - Google DevRel Sep 10 '13 at 22:27
  • Is there any update on this? Playing smothstreaming manifest file? I'm using latest SDK, but still get MediaProtocolCommand ErrorCode=-2 – Hossain Khan Jan 23 '14 at 17:02

2 Answers2

1

The Chromecast has support for SmoothStreaming content through their Media Player Library: https://developers.google.com/cast/docs/player

Below is a bare bones implementation.

Google provides a proper example on GitHub which takes advantage of the MediaManager and accounts for other streaming formats: https://github.com/googlecast/CastMediaPlayerStreamingDRM)

var $mediaElement = $('<video>').attr('autoplay', ''),
    mediaElement = $mediaElement[0],
    mediaUrl = "http://playready.directtaps.net/smoothstreaming/SSWSS720H264/SuperSpeedway_720.ism/Manifest",
    mediaHost,
    mediaPlayer;

cast.receiver.CastReceiverManager.getInstance().start();

$('body').append(mediaElement);

mediaHost = new cast.player.api.Host({
    mediaElement: mediaElement,
    url: mediaUrl
});

var protocol = cast.player.api.CreateSmoothStreamingProtocol(mediaHost);

mediaPlayer = new cast.player.api.Player(mediaHost);
mediaPlayer.load(protocol);
0

Microsoft's test files (inc the ISM) do not return the CORS header required for the chromecast. use a CORS on all of your server and it shall work.

I've encountered this too, and its working if I host them myself with CORS

Himberjack
  • 5,682
  • 18
  • 71
  • 115