2 Replies Latest reply on Jul 29, 2010 2:49 AM by Graffitwister

    VideoDisplay Component Multi-Bitrate Support:   Misleading?


      I am passing to the source property of a VideoDisplay component a DynamicStreamingVideoSource object with 3 different dynamic live stream items, described by these sets of URL / bitrate













      But the player then runs the stream with the lowest bitrate, out of those 3. Wasn't it supposed to go for the stream with the highest bitrate, that is viewable by the end-user? All 3 streams have been individually tested and they are all viewable.



      There is a matter of the initialIndex property of the DynamicStreamingVideoSource class, that acts as a preferred first attempted stream index to play. But:


      • This is set to 0 by default, even if there is no actual 'preferred' initial index.
      • The streams are sorted internally by the VideoDisplay class, from lowest bitrate to highest; should we use an initialIndex value equal to the number of streams MINUS 1, so as to ask for the highest bitrate first? What happens if that is not viewable, what stream will it try then?
      • Due to stream sorting, the value for the initial index may be misleading if the streams had initially been given in a different order, e.g. from highest bitrate to lowest


      All in all, the VideoDisplay component and its multi-bitrate support are sadly just briefly described throughout doc pages. Anyone with anything to contribute on the matter is very welcome.




        • 1. Re: VideoDisplay Component Multi-Bitrate Support:   Misleading?
          Darrell Loverin Level 4

          I don't see where the streams are sorted in VideoDisplay. What is the name of the function that initiates the sort?




          • 2. Re: VideoDisplay Component Multi-Bitrate Support:   Misleading?
            Graffitwister Level 1

            Well, they are sorted somewhere I can't remember exactly where, but anyway I've come to find that this is an alright behavior, since the idea is not for the publisher to choose its own stream order; they are sorted just for an easy switch up/down between them.


            The problem in my case was that the VideoDisplay gets its bitrates in Kbps, and the values specified for the streams were expressed in Bps. Therefore, the player would not choose the streams with the 9000 or 19200 values, since it thinks these are Kbps, and unsustainable. So it chooses the lowest possible bitrate, with a more decent value of 3600 Kbps (450 KBps)


            All I had to do obviously was to divide the reported bitrates by 128, to provide an accurate description of their respective encodings expressed in Kbps. The player then decided correctly on playing the 19200 Bps bitrated one.


            I have no more questions here. Thanks Darrell for your interest in the matter.