7 Replies Latest reply on Feb 8, 2011 3:22 AM by Celumbra1

    Dynamic streaming settings

    Celumbra1 Level 1

      I have been integrating OSMF 1.5 into a Flex application, working with the dynamic streaming of different bit rate files. I have it all working, but the automatic selection consistently picks the lowest bitrate example at 500 kb, or stutters with buffering on the 2200. However, if I hard code the highest bitrate file, 2200 kb, it plays perfectly. If I set all the dynamic streaming items to this same file, they play just fine, too.

       

      I've played around with different settings for buffering, including the double buffering solution, and I see that there are other settings for the different rules. However, I am not sure how to access those rules or what might be typical variations for the settings.

       

      It puzzles me, too, even if I were to adjust those settings how it would select 500kb when my network shows between 3000 and 4000kb (cable). I have movies set at 500, 600, 700, 800, 1000, 1200, 1500, 1800, 2000, and 2200—not necessarily to use this many in the final release, but just to learn about how the dynamic streaming works. Seems like the selection metrics are somehow far off.

       

      If I load these same movies in another OSMF player, they shift fine and play fine, which I think are using just the default values for buffering and rules. So somehow I have something wrong somewhere, though I have only adjusted the bufferTime setting, for which I ran a wide range just to see the results.

       

      Any directions someone can point me toward would be greatly appreciated.

       

      Thanks

        • 1. Re: Dynamic streaming settings
          Celumbra1 Level 1

          Actually, the video seems to play only the buffer amount and then pauses

          to reload the buffer. Any ideas why this may be happening?

          • 2. Re: Dynamic streaming settings
            Silviu Vergoti Adobe Employee

            Hi Celumbra1,

             

            I assume you're talking about RTMP streaming and you encoded your dynamic streams correctly:

            - constant keyframe interval

            - synchronized keyframes

            - known constant bitrate

             

            Did you set the buffer time to 2x the keyframe interval?

             

            Have you tried using your streams in StrobeMediaPlayback, to play with the buffer length?

             

            S.

            • 3. Re: Dynamic streaming settings
              Celumbra1 Level 1

              Hi Silviu,

               

              Thanks for your response. Yes. I am talking about RTMP streaming and I

              encoded them correctly: constant keyframe interval, synchronized keyframes,

              and CBR.

               

              The keyframe interval was 15 frames ( and I am running tests for different

              intervals). I am not sure what 2x the frame rate means in your question: 2x

              15 frames would be 1 second (30 frames), I am assuming, but these encodings

              are at 29.97 fps. I have also tried 30 seconds of buffering. I still get the

              same results: the movie plays only for the duration of the buffer time and

              then stops to re-buffer.

               

              I have been looking through StrobeMediaPlayback, but don't see where I can

              play with the buffer length and optimizations. Is this in one of the

              included applications?

               

              Thanks.

               

              Robert

              • 4. Re: Dynamic streaming settings
                Silviu Vergoti Adobe Employee

                Hi Robert,

                 

                The usual buffer for DS should be ~2.5x the keyframe interval, in order to not lead to a bad switching experience. On the other hand, if you have very frequent keyframes, you could chose a larger value to prevent network interruptions effects.

                 

                Sorry for not providing a link to SMP. You could download and set it up your webserver (even local) from:

                 

                https://sourceforge.net/projects/smp.adobe/files/

                 

                ...or use directly the setup page on our install at:

                 

                http://osmf.org/dev/1.5gm/setup.html

                 

                You can chose different values for buffertime and you can use the debug page to inspect different internal parameters (it's easier to use by using the button on the bottom o fthe setup page).

                 

                http://osmf.org/dev/1.5gm/debug.html

                 

                Can you try to see if you encounter the same behavior?

                • 5. Re: Dynamic streaming settings
                  Celumbra1 Level 1

                  Hi Silviu,

                   

                  Thank you for your response.

                   

                  If my keyframe interval is 15, then the buffer time at 2.5 times that would

                  be 1.25, is this correct? (15 x 2.5 / 29.97).

                   

                  Also, do you know if there is a way to integrate the SMP swf into Flex? I

                  have successfully integrated OSMF into Flex, and someone posted an example

                  of integrating strobe into AIR, so it seems like it should be possible, but

                  I have made many attempts with smp, all unsuccessfully, so I just wondered

                  if there is an inherent difficulty that I am unaware of. I am interested in

                  the optimization routines of SMP.

                   

                  Once again, thank you for your response.

                   

                  Robert

                  • 6. Re: Dynamic streaming settings
                    Silviu Vergoti Adobe Employee

                    This is correct, but I suggest raising it to 5s to take into account other possible network problems (it should not have a significant impact on the switching time).

                     

                    Regarding the flex question, you should follow the same approach as for the AIR application.

                    • 7. Re: Dynamic streaming settings
                      Celumbra1 Level 1

                      Thank you Silviu,

                       

                      I am getting the same results: it plays the buffer, then stops to refill the

                      bufffer, then plays that amount. It is as though the system is not filling

                      the buffer while playing. Can you imagine a setting somewhere that would

                      produce that particular result?

                       

                      I think I will start over and built it back up, bit by bit. Something is

                      obviously wrong somewhere: a needle in the haystack.

                       

                      Thanks again for your notes.

                       

                      Robert