Download Chunk Data

2011-07-05
2013-05-28
  • Peter Nikolla
    Peter Nikolla
    2011-07-05

    I have downloaded the source code and built the app.  I am using the MSSmotthStreamingPlugin.xap, media plugin and streaming video from HSN http://hdlive.hsn.com/live/217810/HSN_smthstrm.isml/Manifest.  Everything is working great.
    What I need to do is determine when the files are downloaded so I can determine chuck information.  I have tried breaking on different event but can get any chuck information.  Can someone tell me what piece of the code i should be looking at.

    Thanks

     
  • pankaj
    pankaj
    2011-07-07

    Hi @peternikolla, there is no straight forward way to find out when a particular video/audio chunk gets downloaded by SSME.

    Can you tell me exactly what you are trying to achieve? I might be able to suggest some options.

    But if you want to know when chunk number 10 has been downloaded, that will be tricky.

    -pankaj

     
  • Peter Nikolla
    Peter Nikolla
    2011-07-08

    Hi Pankaj,

    I work for IneoQuest we have development a targeted metric call VeriStream. 

    VeriStream is a targeted metric that indicates the instantaneous and longer term trending
    behavior of networks carrying streaming media such as MPEG video using current Adaptive Bit
    Rate streaming media protocols or any protocol that segments a stream into files carrying a few
    seconds of video and uses an ARQ protocol such as TCP for the transfer of the files to a viewer.

    We have built a app for the iPhone and iPad.  We have also built a server that collect the data for analysis.

    I want to build a similar app for Silverlight.  In order for me to calculate VeriStream I need to collect the following information, Start of Chunk download, End of Chuck Download, Play time in Chunk, Size of chuck, Start time of next Chunk.

    You player works well downloading the stream and playing it.  I have also added the ability to report information back to our collection server.  The only thing I need now is to collect the information for VeriStream.

    Are these number accessible?

    Thanks in advance for any help you can give me.

    Thanks
    Peter

     
  • pankaj
    pankaj
    2011-07-08

    The OVP player uses the SmoothStreamingMediaElement (SSME) in its plugin to provide support for playing smooth streams. I don't know of any direct interface in SSME that will allow you to track when a chunk has been downloaded and its other properties.

    Although, you can use the ISmoothStreamingCache which will serve your needs for the most part. There is a sample implementation of how this works at http://msdn.microsoft.com/en-us/library/gg296362(VS.90).aspx

    Here's what you will have to do in OVP to wire it all up:
    1. When the AdaptiveMediaPlugin property has been set in the OpenVideoPlayerControl class, call its SetCacheProvider method and pass it your implementation of the ISmoothStreamingCache
    2. In your implemenation of the ISmoothStreamingCache, "ignore" the calls for "retrieve" and "persist", i.e. don't do the intended behavior.
    3. In the "persist" calls, which is called anytime a chunk/keyframe/manifest is downloaded, add code to figure what was downloaded based on the request url. You should be able to figure out if the download was for a video or audio chunk. This will give your info on when a chunk downloaded ended and its size
    4. In the "retrieve" calls, based on the request url, you can approximate when a chunk download request will be issued.

    That should do the trick. Good luck.

    -pankaj

     
  • Peter Nikolla
    Peter Nikolla
    2011-07-08

    Pankaj,

    Thanks for the information.  I will let you know how it turns out.

    Thanks
    Peter

     
  • Peter Nikolla
    Peter Nikolla
    2011-07-18

    Pankaj,

    Thanks for your help.  I am now getting the chunk information I need.

    Peter