Roku Developer Program

Developers and content creators—a complete solution for growing an audience directly.
cancel
Showing results for 
Search instead for 
Did you mean: 
reseng
Level 7

SS: absolute URL in StreamIndex and starting QualityLevel

Hi,
I have two questions about Smooth Streaming in Roku 3.

1) I need to have Smooth Streaming Manifest with absolute URLs in attribute "Url" of tag StreamIndex.
I try to explain the scenario. The Manifest is downloadable from a server A, say at http://<server%20A>/test.ism/Manifest.
Inside the Manifest, each StreamIndex contains an absolute URL, because chunks must be downloaded from another server B. For example http://<server%20B>/videos/test.ism/QualityLevels(1462584)/Fragments(video=0)
This works as expected on other platforms, for example PC+Silverlight, see http://support.akamai.com/silverlight/.
On Roku box, unexpectedly, when playback is started from an application, chunks are searched on the server A with a wrong not-existing URL, i.e.:
http://<server%20A>/test.ism/http://<server%20B>/videos/test.ism/QualityLevels(1462584)/Fragments(vi...
Probably because the player consider the URL in StreamIndex relative to the Manifest location and not absolute.
I would like to know if there is a way to make this behave as expected - on the client side (maybe with a roVideoPlayer parameter?) or on the Manifest side (maybe a particular attribute is needed?).

2) When a Smooth Streaming Manifest is "played" by the roVideoPlayer, which is the very first layer used (for example always starts with the QualityLevel with Index="0")?
Otherwise, is there a way to force the roVideoPlayer to start from a particular layer at the startup of the playback (i.e. setting a parameter in the Meta Content Data or putting a parameter in the query string of the Manifest, etc...)?

Thank you in advance for any help you can provide.


<?xml version="1.0" encoding="UTF-8"?>
<SmoothStreamingMedia MajorVersion="2" MinorVersion="1" Duration="712800000">
<StreamIndex Type="video" Url="http://acme.com/videos/test.ism/QualityLevels({bitrate})/Fragments(video={start time})" Name="video" Chunks="15" QualityLevels="5">
<QualityLevel Index="0" Bitrate="1462584" FourCC="AVC1" MaxWidth="854" MaxHeight="480" CodecPrivateData="00000001674d401eeca06c1ef3780880000003008000001930100033e10000cf85496600f162d9600000000168eaef20"/>
<QualityLevel Index="1" Bitrate="1185566" FourCC="AVC1" MaxWidth="768" MaxHeight="432" CodecPrivateData="00000001674d401eeca0601bd8088000000300800000193020002ab9800155cd259803c58b65800000000168eaef20"/>
<QualityLevel Index="2" Bitrate="796397" FourCC="AVC1" MaxWidth="640" MaxHeight="360" CodecPrivateData="00000001674d401eeca05017fcb80880000003008000001930000073f600039fbd259803c58b65800000000168eaef20"/>
<QualityLevel Index="3" Bitrate="496182" FourCC="AVC1" MaxWidth="480" MaxHeight="272" CodecPrivateData="00000001674d401eeca0f0477fe0110010e200000300020000030064c0800124f800249f496600f162d9600000000168eaef20"/>
<QualityLevel Index="4" Bitrate="246992" FourCC="AVC1" MaxWidth="384" MaxHeight="216" CodecPrivateData="00000001674d401eeca0c0efcb80880000030008000003019301000927800249f496600f162d960000000168eaef20"/>
<c d="50000000"/>
<c d="50000000"/>
<c d="50000000"/>
<c d="50000000"/>
<c d="50000000"/>
<c d="50000000"/>
<c d="50000000"/>
<c d="50000000"/>
<c d="50000000"/>
<c d="50000000"/>
<c d="50000000"/>
<c d="50000000"/>
<c d="50000000"/>
<c d="50000000"/>
<c t="700000000" d="12800000"/>
</StreamIndex>
<StreamIndex Type="audio" Url="http://acme.com/videos/test.ism/QualityLevels({bitrate})/Fragments(audio={start time})" Name="audio" Chunks="36" QualityLevels="1">
<QualityLevel Index="0" Bitrate="50322" AudioTag="255" Channels="2" SamplingRate="24000" BitsPerSample="16" PacketSize="4" FourCC="AACL" CodecPrivateData=""/>
<c d="20053333"/>
<c d="20053333"/>
<c d="20053334"/>
<c d="20053333"/>
<c d="20053333"/>
<c d="20053334"/>
<c d="20053333"/>
<c d="20053333"/>
<c d="20053334"/>
<c d="20053333"/>
<c d="20053333"/>
<c d="20053334"/>
<c d="20053333"/>
<c d="20053333"/>
<c d="20053334"/>
<c d="20053333"/>
<c d="20053333"/>
<c d="20053334"/>
<c d="20053333"/>
<c d="20053333"/>
<c d="20053334"/>
<c d="20053333"/>
<c d="20053333"/>
<c d="20053334"/>
<c d="20053333"/>
<c d="20053333"/>
<c d="20053334"/>
<c d="20053333"/>
<c d="20053333"/>
<c d="20053334"/>
<c d="20053333"/>
<c d="20053333"/>
<c d="20053334"/>
<c d="20053333"/>
<c d="20053333"/>
<c t="701866666" d="9386667"/>
</StreamIndex>
</SmoothStreamingMedia>
0 Kudos