3 Replies Latest reply on Sep 27, 2010 4:17 AM by greggdilorenzo2010

    Question of number of serial elements used in sub-clipping? Is 10 the limit??

    greggdilorenzo2010

      Hello to the board -
      
      I created 12 clips to simulate the start, middle, transitions, and endings
      of a larger piece(s) to come. The OSMF code is below, and when I use any
      10 of the resource segments the piece flows fine and works as promised.
      However - no matter in what order (permutation) I place the elements after
      the 10th item the player simply stops. I have FMS 3.5 local and will put
      this example live on my dedicated server when it is fully functional as
      the start to my prototype process. Obviously, the clips are 33 sec, 66
      sec, 66 sec and 33 sec in the order they are given below...
      
      Again no matter what order I rearrange the elements, the player stops
      after the 10th has finished; all clips play fine alone I throughly checked
      the server and my computer.
      
      Do I need to use VAST or MAST (which I haven't looked into yet but saw on
      the web in OSMF framework) for more complex or lengthy segments like this?
      
      Gregg Di Lorenzo
      
      ======================================================
      //osmf imports
      import org.osmf.containers.MediaContainer;
      import org.osmf.elements.SerialElement;
      import org.osmf.elements.VideoElement;
      import org.osmf.media.MediaPlayer;
      import org.osmf.media.URLResource;
      import org.osmf.net.NetLoader;
      import org.osmf.net.StreamingURLResource;
      
      //constant declarations
      const MEDIA_URL1 = "rtmp://localhost/vod/flv:_Introduction";
      const MEDIA_URL2 = "rtmp://localhost/vod/flv:_Body";
      const MEDIA_URL3 = "rtmp://localhost/vod/flv:_Set";
      const MEDIA_URL4 = "rtmp://localhost/vod/flv:_Ending";
      
      //create a new SerialElement
      var serialElement = new SerialElement();
      
      //create a resource pointing to MEDIA_URL1 from 0 seconds to 10 seconds
      var resource1 = new StreamingURLResource(MEDIA_URL1,null,0,10);
      //add resource to the serialElement
      serialElement.addChild( new VideoElement( resource1 ) );
      //create a resource pointing to MEDIA_URL2 from 0 seconds to 21 seconds;
      var resource2 = new StreamingURLResource(MEDIA_URL2,null,0,21);
      //add resource to the serialElement
      serialElement.addChild( new VideoElement( resource2 ) );
      //create a resource pointing to MEDIA_URL3 from 0 seconds to 21 seconds;
      var resource3 = new StreamingURLResource(MEDIA_URL3,null,0,21);
      //add resource to the serialElement
      serialElement.addChild( new VideoElement( resource3 ) );
      //create a resource pointing to MEDIA_URL4 from 0 seconds to 10 seconds;
      var resource4 = new StreamingURLResource(MEDIA_URL4,null,0,10);
      //add resource to the serialElement
      serialElement.addChild( new VideoElement( resource4 ) );
      
      //create a resource pointing to MEDIA_URL1 from  11 seconds to 21 seconds;
      var resource11 = new StreamingURLResource(MEDIA_URL1,null,11,21);
      //add resource to the serialElement
      serialElement.addChild( new VideoElement( resource11 ) );
      //create a resource pointing to MEDIA_URL2 from 22 seconds to 43 seconds;
      var resource22 = new StreamingURLResource(MEDIA_URL2,null,22,43);
      //add resource to the serialElement
      serialElement.addChild( new VideoElement( resource22 ) );
      //create a resource pointing to MEDIA_URL3 from 22 seconds to 43 seconds;
      var resource33 = new StreamingURLResource(MEDIA_URL3,null,22,43);
      //add resource to the serialElement
      serialElement.addChild( new VideoElement( resource33 ) );
      //create a resource pointing to MEDIA_URL4 from 11 seconds to 21 seconds;
      var resource44 = new StreamingURLResource(MEDIA_URL4,null,11,21);
      //add resource to the serialElement
      serialElement.addChild( new VideoElement( resource44 ) );OS
      
      //create a resource pointing to MEDIA_URL1 from  22 seconds to 33 seconds;
      var resource111 = new StreamingURLResource(MEDIA_URL1,null,22,33);
      //add resource to the serialElement
      serialElement.addChild( new VideoElement( resource111 ) );
      //create a resource pointing to MEDIA_URL2 from 44 seconds to 66 seconds;
      var resource222 = new StreamingURLResource(MEDIA_URL2,null,44,66);
      //add resource to the serialElement
      serialElement.addChild( new VideoElement( resource222 ) );
      //create a resource pointing to MEDIA_URL3 from 44 seconds to 66 seconds;
      var resource333 = new StreamingURLResource(MEDIA_URL3,null,44,66);
      //add resource to the serialElement
      serialElement.addChild( new VideoElement( resource333 ) );
      //create a resource pointing to MEDIA_URL4 from 22 seconds to 33 seconds;
      var resource444 = new StreamingURLResource(MEDIA_URL4,null,22,33);
      //add resource to the serialElement
      serialElement.addChild( new VideoElement( resource444 ) );
      
      //create the MediaPlayer instance with the media property set to the
      serialElement;
      var mediaPlayer = new MediaPlayer(serialElement);
      //create the MediaContainer instance
      var container = new MediaContainer();
      //add the container to the stage
      addChild( container );
      //add the serialElement to the container
      container.addMediaElement( serialElement );
      =====================================================================
      

        • 1. Re: Question of number of serial elements used in sub-clipping? Is 10 the limit??
          bringrags Level 4

          I just tried this with some of our public URLs, and didn't see the same behavior.  (See code snippet below.)  Can you reproduce using these URLs?  If so, then there's probably difference in our environment.  If not, then it would help if you could send me the four URLs you're using (briggs at adobe).

           

           

           

                                      //create a new SerialElement
                                      var serialElement:SerialElement = new SerialElement();
                                     
                                      const MEDIA_URL1:String = "rtmp://cp67126.edgefcs.net/ondemand/mp4:mediapm/ovp/content/demo/video/elephants_dream/e lephants_dream_768x428_24.0fps_408kbps";
                                      const MEDIA_URL2:String = "rtmp://cp67126.edgefcs.net/ondemand/mp4:mediapm/osmf/content/test/cuepoints/spacealonehd _sounas_640_with_nav.f4v";
                                      const MEDIA_URL3:String = "rtmp://cp67126.edgefcs.net/ondemand/mp4:mediapm/ovp/content/demo/video/elephants_dream/e lephants_dream_1024x522_24.0fps_908kbps.mp4";
                                      const MEDIA_URL4:String = "rtmp://cp60395.edgefcs.net/ondemand/mp4:videos/encoded2/Train_450kbps.mp4";
                                     
                                      //create a resource pointing to MEDIA_URL1 from 0 seconds to 10 seconds
                                      var resource1:StreamingURLResource = new StreamingURLResource(MEDIA_URL1,null,0,10);
                                      //add resource to the serialElement
                                      serialElement.addChild( new VideoElement( resource1 ) );
                                      //create a resource pointing to MEDIA_URL2 from 0 seconds to 21 seconds;
                                      var resource2:StreamingURLResource = new StreamingURLResource(MEDIA_URL2,null,0,21);
                                      //add resource to the serialElement
                                      serialElement.addChild( new VideoElement( resource2 ) );
                                      //create a resource pointing to MEDIA_URL3 from 0 seconds to 21 seconds;
                                      var resource3:StreamingURLResource = new StreamingURLResource(MEDIA_URL3,null,0,21);
                                      //add resource to the serialElement
                                      serialElement.addChild( new VideoElement( resource3 ) );
                                      //create a resource pointing to MEDIA_URL4 from 0 seconds to 10 seconds;
                                      var resource4:StreamingURLResource = new StreamingURLResource(MEDIA_URL4,null,0,10);
                                      //add resource to the serialElement
                                      serialElement.addChild( new VideoElement( resource4 ) );
                                     
                                      //create a resource pointing to MEDIA_URL1 from  11 seconds to 21 seconds;
                                      var resource11:StreamingURLResource = new StreamingURLResource(MEDIA_URL1,null,11,21);
                                      //add resource to the serialElement
                                      serialElement.addChild( new VideoElement( resource11 ) );
                                      //create a resource pointing to MEDIA_URL2 from 22 seconds to 43 seconds;
                                      var resource22:StreamingURLResource = new StreamingURLResource(MEDIA_URL2,null,22,43);
                                      //add resource to the serialElement
                                      serialElement.addChild( new VideoElement( resource22 ) );
                                      //create a resource pointing to MEDIA_URL3 from 22 seconds to 43 seconds;
                                      var resource33:StreamingURLResource = new StreamingURLResource(MEDIA_URL3,null,22,43);
                                      //add resource to the serialElement
                                      serialElement.addChild( new VideoElement( resource33 ) );
                                      //create a resource pointing to MEDIA_URL4 from 11 seconds to 21 seconds;
                                      var resource44:StreamingURLResource = new StreamingURLResource(MEDIA_URL4,null,11,21);
                                      //add resource to the serialElement
                                      serialElement.addChild( new VideoElement( resource44 ) );
                                     
                                      //create a resource pointing to MEDIA_URL1 from  22 seconds to 33 seconds;
                                      var resource111:StreamingURLResource = new StreamingURLResource(MEDIA_URL1,null,22,33);
                                      //add resource to the serialElement
                                      serialElement.addChild( new VideoElement( resource111 ) );
                                      //create a resource pointing to MEDIA_URL2 from 44 seconds to 66 seconds;
                                      var resource222:StreamingURLResource = new StreamingURLResource(MEDIA_URL2,null,44,66);
                                      //add resource to the serialElement
                                      serialElement.addChild( new VideoElement( resource222 ) );
                                      //create a resource pointing to MEDIA_URL3 from 44 seconds to 66 seconds;
                                      var resource333:StreamingURLResource = new StreamingURLResource(MEDIA_URL3,null,44,66);
                                      //add resource to the serialElement
                                      serialElement.addChild( new VideoElement( resource333 ) );
                                      //create a resource pointing to MEDIA_URL4 from 22 seconds to 33 seconds;
                                      var resource444:StreamingURLResource = new StreamingURLResource(MEDIA_URL4,null,22,33);
                                      //add resource to the serialElement
                                      serialElement.addChild( new VideoElement( resource444 ) );

          • 2. Re: Question of number of serial elements used in sub-clipping? Is 10 the limit??
            greggdilorenzo2010 Level 1

            I will shortly upload all the clips to our FMS3.5 dedicated live server and test from there.

             

            Thanks for quick resposne Brian.

            • 3. Re: Question of number of serial elements used in sub-clipping? Is 10 the limit??
              greggdilorenzo2010 Level 1

              Update:

               

              Quite unusual - locally on my test laptop I have 1GB of Ram, 1.66 processor, WinXPSP3 all updates, and FMS3.5.

              Checked all the clips and injected them with metadata locally, ran FLVcheck as well.

              Stalled at the 2nd to last segment as stated... over and over.

               

              Uploaded everything to the live server as indicated 24 hours ago, same problem!

              (hence the delay in response here)

               

              Then this morning I injected metadata ON THE SERVER VIA RDP -

              and then it works!

               

               

              Slight glitches in the segment-transitioning, but that will be solved later I am sure with future research
              and perhaps VAST/MAST after all.

               

              Thanks for the help and all that code, Adobe peoples!

               

               

               

              [if interested the live link is:

              http://onehundredandseventyfour.com/2011/schema_1.1_protocol_1.html

              if you are offended by the human body, then just trust me, don't visit the URL, it works...]