0 Replies Latest reply: Mar 27, 2012 8:55 AM by oeann RSS

    help with sync record and other mp4 // seek problem i think

    oeann Community Member

      hello, i need your help to understand why my sync is not good...

       

      i record with netstream and my file have 1.06 min. With metadata.duration = 66.164

      the original have 1.05 min for this metadata.duration = 65.621.

       

      i use two flvplayback to listen my record and original. but always my recoded file is too late.

      I dont understand why because the playheadtime is good for both.

       

      my code i use to listen:

       

       

      mc_videoPlayer.videoPlayer.visible = false;

      mc_videoPlayer.perfoPlayer.visible = false;

             

      mc_videoPlayer.videoPlayer.seek(0);

         

      mc_videoPlayer.videoPlayer.volume = 0;

      mc_videoPlayer.perfoPlayer.volume = 0;

       

      vsource2 = "rtmp://xx.xx.xx.xx/test/" + fileName;

      mc_videoPlayer.perfoPlayer.source = vsource2;

       

        

      mc_videoPlayer.perfoPlayer.addEventListener("complete", perfo_complete);

      mc_videoPlayer.perfoPlayer.playheadUpdateInterval = 1;

      mc_videoPlayer.videoPlayer.playheadUpdateInterval = 1;

      mc_videoPlayer.perfoPlayer.addEventListener(VideoEvent.READY, jumpToSeek);

       

      function jumpToSeek(evt:VideoEvent):void

      {

          cntnetS = mc_videoPlayer.perfoPlayer.metadata.duration - mc_videoPlayer.videoPlayer.metadata.duration; 

          cntnetS = Number(cntnetS.toFixed(3));

         

          mc_videoPlayer.perfoPlayer.seek(cntnetS);

          mc_videoPlayer.perfoPlayer.addEventListener(VideoEvent.SEEKED,onseeked);

          mc_videoPlayer.perfoPlayer.addEventListener(VideoEvent.PLAYHEAD_UPDATE,onPlayHeadUpdate);    

      }

       

      function onseeked(event:Event)

      {

          if (mc_videoPlayer.perfoPlayer.playheadTime < cntnetS)

          {

              onNextFrame();

          }

          else if (mc_videoPlayer.perfoPlayer.playheadTime > cntnetS)

          {

              onNextFrame();

          }  

          else

          {

                      mc_videoPlayer.videoPlayer.visible = false;

                      mc_videoPlayer.perfoPlayer.visible = true;

                      mc_videoPlayer.perfoPlayer.play();

                      mc_videoPlayer.videoPlayer.play();

                      mc_videoPlayer.perfoPlayer.removeEventListener(VideoEvent.SEEKED,onseeked);

       

           } 

      }

       

      function onNextFrame()

      {

              mc_videoPlayer.perfoPlayer.seek(cntnetS);

      }

       

      When play start the playhead is good...

      perfoPlayer playhead = 0.543

      videoplayer playhead = 0

       

      Then i dont understand why is not sync...

       

      Do I use the seek function well? What is the difference between seek and seekSeconds?

       

      Thanks a lot to help me