Track video jumpy

audio is fine. they are insync. It was fine yesterday.

The solution was to make. Thank you, Kevin.

Tags: Premiere

Similar Questions

  • Sometimes I get audio separated and track video CS5

    About once a month (I record a show once a week - 1 hour to spread), I separate video and audio tracks. I can search and import, but they are not synchronized. I defragment the hard drive of 4 TB each week. I have a custom computer Win7pro. I have 4 processors Exon. I always record a clip of 'test', but have no problem on this short clip. Another question - how to lock tracks - I can do it manually, but does not reach them for editing.

    This problem has not yet arrived, but I still do feel not good on this subject.  The only thing I do is to continue to optimize and defragment all three HD, s. I hold my breath every Sunday but well.

    Thank you to investigate.

    Kind regards!

  • Tracks video final clip spent!

    13.1 MOU on a WIN7 PC.

    I work on this long video for some time and am almost finished and somehow when I read the results it works on the end (see screenshot)

    Clipboard01.jpg

    Not quite sure when it happened (today) but I clearly intentionally removed the last seconds of the final clip in the timeline panel.  When it passes in front of the goal, I hear again the audio from that I cut out!

    Thoughts?

    HOTELECHOMIKE

    Expand it please the Timeline with the - + cursor above the timeline. And then to the place where the timeline indicator stops when you press the end open and inspect every possible lead and looking for leftovers - fragment or a real clip. And then remove the remains.

    RTA

  • Video jumpy after export Quicktime Movie of PS CS4 Extended

    I am producing a training video for short-term work.  I created my entire movie in iMovie ' 09 and she had desperately need a few arrows and text in order to clarify some more technical aspects.  I've exported as a Quicktime from iMovie file and imported in Ps CS4 extended.

    After having finished the mounting, I chose to export my video, once again as a Quicktime movie.

    The export is complete, and when I went to see my movie, he was extremely nervous.  Watch the online time on the bottom of the Quicktime screen, I noticed that he was jumping in several intervals of seconds.  The audio sounds like normal, but kept the video freeze and interference.

    I tried to re - export the video with Quicktime Animation settings, and Frames Per Second to know.

    No difference.

    Any ideas what I am doing wrong?

    dmisita wrote:

    Marian-

    It's 50-50 live video/ultrasound gray scale clips.

    I used animation because I was told that it was the most without loss. I wanted to not double compress my video too.

    The animation codec is lossless, but it works best on the flat areas of color (like animation 2D, The Simpsons, etc.). I don't think that it handles live action or else noise. The ultrasound imaging can be quite noisy. The nervousness could be the animation codec choke in noisy real action?

    If you don't want a double-compress, you should worry about compression far upward flow. Looks like iMovie gives you already a highly compressed h.264. You could try exporting from iMovie to the highest possible bitrate video (= less loss).

  • empty space above the video tracks in the sequence window

    Hi, I like to use Premiere Pro, but like almost everyone else I have irritating things during use. When I resize the window of the sequence trying to see all the tracks video and audi, I get this empty space above my video tracks. Could not find the option to delete this. The button on the right bars only I have bigger or smaller individual tracks. I have attached a screenshot to make it clear. I hope someone can help me with something boring... Regards, René

    2016-05-05_11h40_20.jpg

  • Change the opacity in an adjustment layer, assign a video track

    First Pro CS6

    Hello

    I have a sequence of images in a video track which creates an animation and I added a ultra key effect to remove the background of each image one by one (not sure if there is a better way to do so but anyway). Now, I want to present this animation slowly with a change of opacity, but I can't seem to make it work. I tried to add an adjustment layer and change the opacity, but it did not work, I want to just change the opacity of this animation, not the other track video as well. So I added an effect of transformation for the adjustment layer. I set the opacity in this transformative effect in this adjustment layer, but I can't make this work or the other.

    I tried to export the animation in a separate file so that I can take to my project as a clip, but I'm a little lost as to what type of file to export. I tried a file AAF but which did not load in my main project at all well and I had to force the Organization to close.

    Thank you.

    Make your animation to its own sequence.

    Then bring this sequence into the SEQUENCE to CHANGE.  (a nest)

  • Linking Clips Audio and video

    Before CC linking tracks video and audio when you select worked.

    So when you take a clip he moved as well as the video or audio clips.

    But he has never worked with CC 2015 or me. Anyone else having this problem?

    You have linked selection turned on?  (To the right of the magnet, the title sequence of timecode).

  • scale, source video position, then sequence multiple camera for picture-in-picture problem

    I have 7 source for several cameras cameras and everything works very well in multiple camera monitor.

    Now I want to Picture in Picture (video in video) and take the same video tracks 7, apply motion effect, scale, opacity of mask and place overtop of the multiple cameras and reach the image in the image.

    My picture in the video tracks 7 photo overtop of the multi-cam edit turn into 12 tracks video - cameras of 7 source, any other scale, different motion effect, different opacity mask. Things get confusing with the number of video tracks that I turn on and off to what image in the image that I want displayed.

    I decide to multi-camera video track 12 "picture in picture" by creating its own sequence and nesting in multicamera edit.

    First problem is that my multiple camera monitor gives me tiny thumbnails, because that's what I created, he is picture in picture - and I'm looking for a way to create larger thumbnails - so I nest the 1920 x 1080 in a sequence of 460 x 370 and gives me the biggest thumnails in the monitor of multiple camera which I'm looking for.

    This leads to the second problem is that now my thumb nails have the false image - the motion effect is not perfect in the thumbnail, but if selected for the source of the multi-cam edit sequence, the motion effect is correct.

    Question is - how to get the size of the image in picture multiple camera monitor to display correctly in the program monitor multicamera thumnails?

    I tried to go back to the image in the source photo sequence and nesting video track - but it gives me even worse representation of the image in the thumbnail of the image in sequence edit multi-camera monitor.

    As I understand it, here's what I would say.

    Create a multicam for the enlarged image sequence and which cuts.

    Create a separate for the projected PiP multicam image and who cut as full screen also.

    For the shots in the multicam main sequence that can be seen on the screen, add the second multicam on V2 and scale/position properly.

  • Can I make a DVD that will play a combination of video and audio together... and only audio only?

    So I wonder if this is possible on a DVD in any way can play on a DVD player?

    Thanks for any idea :-)

    MArk

    I'm not sure that I really understand the question

    A 'film' DVD is designed to read a movie... a mixture of video and audio

    I don't know if the DVD specification provides only audio... but maybe the audio with a track video white/black?

  • Playback is jumpy in Premiere Pro CC 2015 on Windows 10

    Hello

    Just updated to PrPro CC 2015 and was greeted with reading video jumpy... Also updated for Windows 10, but it happens started before my departure from 8.1 Win pro for 10.

    It was working fine before, but now the two frames he jumps back a frame or two, including the head of reading, not only the video itself. HOWEVER, if I play long enough (30 seconds sometimes more, sometimes less), the video will play very well. But as soon as I stop, it starts all over again.


    Data sheet:

    Windows Pro 10

    Intel Core i7 to 4.00 GHz (clocked at 4.10)

    16 GB of RAM

    EVGA Geforce GTX760 4 GB


    Oh, and I already tried to remove the preview/cache files etc etc. No help.


    Thank you

    Dove

    Yes the update without a doubt it breaks for me also! playback is terrible, but the old version plays the same files and the settings quite well.

  • Video effects in flicker to export nested sequences

    I nested content in a sequence. When I export I get flicker at a time where I added an effect.  I used warp stabilizer and opacity masking and both produced sparkling in the finished coating.  When I add the effect of nested track video, while it is not nested and then rendered flicker does not appear, it is a big pain.  I've been adding effects to clips nested for years and I really need, what can I do?

    I don't know that this will help you, but...  I recently found this with glued on the nested clip (green bknd) drop shadow effect.  I found that the sequence containing the clips that were the nested sequence had a frequency of inappropriate images (10 FPS).  When I changed this to 23.976 fps, the flicker disappeared.  At no time the real video clip has played at 10 frames per second - just the shadow.

    I don't know why that should be while I thought that the rendering was supposed to correct differences as a sequence that when I moved the sequence to the main time line.

  • How to merge the clips with a single track mono without the extra empty tracks?

    When I merge clips that I have synced using plural eyes, the merged clip has 3 empty audio tracks I have to delete every time I import the clip in the sequence. I tried deleting all empty the track sequence to merge, but I have still 3 empty tracks. I want to just import a single audio track video and single.

    The sound is mono there should only be one track.Merged Example.png

    I thought about it. If you right-click on the merged item and go edit > Audio channels and together the three other channels to 'None' it will only import the audio track. You can select all the clips merged and apply it to each of them.

  • Track matte key I do something wrong?

    Hello everyone. I would appreciate it if you could help me on the following: a first sequence, I have 3 video tracks. Tracks video 1 and video 2 contain 2 separate clips and video track 3 contains a video cache static jpg (black and white). What I need to do, is I want to use the image jpg as a cache, so everything I do is place the three assets on top of the other and then apply a matte video 2, set his pole Video 3, value compositing luma and bingo! My 2 videos on track 1 and 2 are now playing with the mask I put to them.

    Now I want to step up in my element in the video track 2, while I focus on another part of it, but with the mask applied and not changed at all. What I discovered is that no matter if I adjust the clip before or after the application of the track matte key, the result is applied to both the mask AND the clip. Why does this happen? Is this a bug of version or do something wrong? Scale clip should not be able to get driven approach regardless of the cache? And why is this process done as it should be on After Effects, but not in first?

    To get a better idea of what I mean, I downloaded a video on YouTube about the issue. As you will see, to get the exact size of the mate to change from one element to another, I had to divide the jpg to mask using the razor and then apply a different scale on this subject. What would happen if I had, say, 20 different tracks?

    The clip is located here http://youtu.be/da52U9ZfLAw

    Thanks in advance

    Do not mix of movement and track mattes. You must make the request in a nested sequence.

    Take the track matte and video that you present a motion in a new sequence. The value of the matte on top and set the opacity to 50%. Use the gesture on the video just the way you want. Then poke the eye towards the matte so that you do not see.

    Now, you can nest this sequence on the main sequence and apply cache by approach rather than the original item. Since Premiere Pro does not see the motion in the main sequence (it actually happens in the nested sequence) then it does not bother the track matte effect.

  • Need some tips for first cs6 video editing

    I recorded it professionally in his room with a microphone mc proof is really good quality video and sound quality is perfect also.

    I recorded with 2 devices with different angles, I'll remove the noise of two video clips and use the MP3 recorded in Adobe Audition CS6 (amazing program) I want to have the 2nd recording angle put in the video so that it shows the main video, then the 2nd in a small box in the upper corner, how can I do this?

    Also any advice people can suggest for me on Speedgrade CS6 or After effects CS6 that will enhance the viewing experience will be highly appreciated.

    Last reading the thing at first and after effects is very slow, no failure of my laptop is extremely fast, but one thing that I've had this laptop for about 8 months and does not update the graphics card, it would be one or there at - it a way to solve this problem? When I try to playback in sequels it says something like ' 0.9 / 29 frames (not in real time), I downloaded quicktime, I thought it was real time?

    Thank you in advance

    I want to have the 2nd recording angle put in the video so that it shows the main video, then the 2nd in a small box in the upper corner, how can I do this?

    This is referred to as a PiP (Picture in Picture). It is easy to do. Simply place your Clips, camera 2 and camera 1 on separate video tracks. 2 camera spot on a weaker, you place the camera 1, say Camera 2 on 1 track video and camera 1 on video track 2. At that time, camera Clip 1 will cover the Clip on Camera 2. Now, with the camera 1 Clip selected, go to the effects (not the effects Panel) Panel and find the movement, one of the fixed effects. Watch twirl that open, to reveal the scale and Position. We will use these next. I would first pay scale, to resize the Clip and then position, move it to where you want. Fact.

    I often use the grids of the alignment for the positioning of the PiP, but with but a PiP, not sure you need this. Yet, see this article for grid alignment: http://forums.adobe.com/thread/476984?tstart=0

    For your Audio files, instead of a highly compressed MP3, I would export it as WAV/PCM 48 kHz 16-bit, for import in PrPro. The Audio will be better, and in accordance with the standard will be faster.

    For the rest, I highly suggest to read about these programs. Adobe has a lot of good tutorials on Adobe TV too. Their use and power, fill books. There is also a very active and very good forum just for After Effects, with a lot of seasoned, professional who can help you if you get lost. As Jon States, read everything in the help files, these programs are a very good start.

    Good luck

    Hunt

  • Custom using netStream video player not working not

    I have problems playing movies using the flash in a way that is not sinking tons of memory (http://forums.adobe.com/thread/851908). So, I tried to build my own, but I can't allow him to play anything... What don't I get on the netStream working with the VideoDisplay?

    customComponents package < code >
    {
    import flash.events.Event;
    import flash.events.NetStatusEvent;
    import flash.events.TimerEvent;
    import flash.media.SoundTransform;
    import flash.media.Video;
    import flash.net.NetConnection;
    to import flash.net.NetStream;
    import flash.utils.Timer;

    Import mx.core.UIComponent;
    Import mx.events.FlexEvent;

    / * Explanation of the component: VideoDislplayCustom is a replacement for s:VideoDisplay, because our load method in video memory leaks in the order of several hundred megabytes every time a new video has been loaded. It provides a video object that attaches to a netStream, which allows us to broadcast the video files on the hard drive to play rather than load them into the player. By preventing the caching of all kinds, overcome us the leaks memory of this magnitude and are a tool that can last throughout the day switching between videos often. */

    SerializableAttribute public class VideoDisplayCustom extends UIComponent
    {
    / * Constructor * /.
    public void VideoDisplayCustom()
    {
    Super();



    videoPlayer = new VideoDisplay();
    this.addChild (videoPlayer);
    this.addEventListener (FlexEvent.CREATION_COMPLETE, init)


    netConnection = new NetConnection();
    netConnection.addEventListener (NetStatusEvent.NET_STATUS, netStatusHandler);
    NetConnection.connect() (null);

    netStream = new NetStream (netConnection);
    netStream.addEventListener (NetStatusEvent.NET_STATUS, netStatusHandler);
    netStream.client = this;
    netStream.bufferTime = BUFFER_TIME;

    setVolume (defaultVolume);
    }

    / * Necessary, because we need allow all this time to initialize before you start trying to create certain things or parts of some components addressing.
    * Called from: this. Creation_Complete event that is raised after this component is all assembled. */
    private void init(event:Event):void
    {
    this.removeEventListener (FlexEvent.CREATION_COMPLETE, init);
    videoPlayer.visible = true;
    videoPlayer.source = "";
    videoPlayer.videoObject.attachNetStream (netStream);
    }

    / * Global variables * /.
    Define our constants.

    Time to buffer, in seconds. Subsequently assigned to the netstream object
    protected const BUFFER_TIME:Number = 8;

    Public variables.

    We must be able to define a source for our video player.
    public var source: String = "";
    Maintains the boot volume when the player starts, defined in terms of percentage of the total volume of the system.
    public var defaultVolume:Number =. 60;
    Because when we turn it off to save the previous volume. This wil enable us to check with our drop-down list component or other components to make sure that
    We have the right to 'lastVolume '.
    public var lastVolume:Number = defaultVolume;
    When we turn off our video, we know that she is mute. Checking to see if the volume 0 is accurate, not enough, so we have a variable for it. In addition,
    the s:VideoDisplay uses a variable 'muted', if we want to keep the same looking for outside like this component.
    public var muted: Boolean = false;
    When we want the video loop, you have to know that, so here is our Boolean loop. In fact, when we reached the end of playback, either deliver us
    a "complete" event, or we start playing again from the beginning. This value determines what.
    public var loop: Boolean = false;
    We need to know if we can soften the video or not (to improve the quality of reading).
    public var smoothing: Boolean = true;

    Private and protected variables.

    We need a video object to attach the netStream to. So, here it is.
    protected var videoPlayer:VideoDisplay;
    We must be able to access netConnection and NetStream objects from outside this component (to set the source and check on things), so here is our
    objects.
    protected var netConnection:NetConnection;
    protected var netStream:NetStream;
    We need to know if the stream is loaded or not before we can read.
    protected var loaded: Boolean = false;
    We need store metadata for the video that load us up, so here's our storage object metadata.
    protected var vidInfo:Object;

    / * Meathods of this component (aka public functions), visible to the whole program. */
    public void play (): void
    {
    Words of the var: String = «»
    If (!) Loaded)
    {
    netStream.play (source);
    load = true;
    } else {}
    netStream.resume ();
    }
    }

    public void pause (): void
    {
    netStream.pause ();
    }

    public void stop (): void
    {
    netStream.pause ();
    netStream.seek (0);
    }

    public void seek(timeToSeekTo:Number):void
    {

    }

    public void setVolume(volumeToSet:Number):void
    {
    var soundTransform:SoundTransform = new SoundTransform (volumeToSet);
    netStream.soundTransform = soundTransform;
    }

    public function mute (): void
    {
    if(!muted)
    {
    lastVolume = videoPlayer.volume;
    setVolume (0);
    Mute = true;
    } else {}
    setVolume (lastVolume);
    Mute = false;
    }
    }

    / * We store the metadata collected by the NetStream object, information so that we can him later in this program. This isn't really a meathod, but it
    * should be made public so that the NetStream could find it.
    * Called from: NetStream object, as soon as he gets the metadata and information loaded file. */
    public void onMetaData(info:Object):void
    {
    vidInfo = info;
    }

    / * Functions private and protected this component, closed to the rest of the program. */
    protected function netStatusHandler(event:NetStatusEvent):void
    {
    Switch (event.info.code)
    {
    case "NetStream.Play.StreamNotFound":
    trace ("Error. Stream not found: "+ source);
    break;
    case "NetStream.Play.Stop":
    Stop();
    break;
    }
    }

    < code >

    Any help?

    Here is the code for the component. I hope there is nothing odd about that. I have included my contact information at the top. Please send me an email me or Adobe PM if you have questions or comments about this code. Hope this helps someone. It took me a good while to tinker until I found this.

    You can also find this useful if you do not need to completely rebuild the component. http://bryanheisey.com/blog/?p=21

    [CODE]

    /* Contact info: Jordan: [email protected] between 2010 and 2015. */
    
    /* The built-in video display object would not work for our purposes, because it would leak enormous amounts of memory (in the order of 200-300MB) every time a new
     * video was loaded in and played. It was almost as though it retained all previous videos played in memory, rather than replacing the video it had loaded.
     * After farther investigation, I believe it had to do with the fact that s:VideoDisplay discards the source and videoGateway, and creates a new one, meaning that
     * garbage collection has to get in there and fix it. However it doesn't unless RAM is also being lost in enough little chunks, so...it never cleaned up.
     * This is the first attempt to fix that, by directly manipulating the netStream, and streaming the video, rather than loading it in as was happening in s:VideoDisplay.
     * I have, however, followed the structure that was presented in s:VideoDisplay provided by Adobe in the Flex 4.0.1 framework as far as where events and public functions
     * and so forth are declared. This video player uses a lot of code and ideas from s:VideoDisplay and the player described at
     * http://www.flashwebdesigns.com.au/index.php/2010/07/custom-flex-4-spark-videodisplay. More details of what this actually is found right above the constructor. */
    
    /* TODO: Looping pauses for a moment before restarting.
              */
    package customComponents
    {
         /* Imports:
          * NetStatusEvent is used to react to specific events in the video stream. For example, when it starts to play, when it stops, and so forth.
          * SoundTransform is a class used to control the volume in the NetStream, and so when the volume is changed, we need to use this to create a new sound handler for the
               stream.
          * Video is used as the gateway through which the NetStream is visible. That is actually it's only purpose, because we wind up directly manipulating the NetStream when
               we need to do anything with the video.
          * NetConnection is used to initiate our NetStream. NetConnection is looking for a server connection. When we pass through null as the server, it knows we're after
               local content.
          * NetStream is what actually plays the videos off the computer. This is the central piece of this component. Using this class as our primary piece of this component
               is what allows us to circumvent memory leaks and other issues.
          * UIComponent is what this component extends, so it's needed for the basis of our component.
          * FlexEvent is required to allow us to listen for creation complete, allowing us to call an init() function here like we do with almost every other component we have.
          * TimeEvent was the original type of event used in s:VideoDisplay, so working on changing as little as possible, we kept that as our event types, and by the time we
               finished, there was no point to changing it. */
    
         import flash.events.Event;
         import flash.events.NetStatusEvent;
         import flash.media.SoundTransform;
         import flash.media.Video;
         import flash.net.NetConnection;
         import flash.net.NetStream;
    
         import mx.core.UIComponent;
         import mx.events.FlexEvent;
    
         import org.osmf.events.TimeEvent;
    
         /* Events */
    
         /* complete is dispatched when the playhead reaches the duration for playable media.
          * original eventType: org.osmf.events.TimeEvent.COMPLETE */
         [Event(name="complete", type="org.osmf.events.TimeEvent")]
         /* durationChange is dispatched when the duration property of the media has changed.
          * This event may not be dispatched when the source is set to null or a playback error occurs.
          * original eventType: org.osmf.events.TimeEvent.DURATION_CHANGE */
         [Event(name="durationChange", type="org.osmf.events.TimeEvent")]
         /* needToSeek is dispatched whenever play() is called. play() loads in the new video. If the video is the same one that was already playing, therefore not changing the
          * duration, we need to catch that, and the easiest way to do that is just to dispatch an event commanding that we seek. */
         [Event(name="needToSeek", type="flash.events.Event")]
    
         /* Explanation of component: VideoDislplayCustom is a replacement for s:VideoDisplay, since our method of loading in videos caused memory leaks in the order of hundreds
          * of megabytes each time a new video was loaded in. This one provides a simple video playing object that attaches to a netStream, which we use
          * to stream the video files off the hard driver rather than loading them into the player. By disallowing caching of any kind, we overcome memory leaks of
          * that magnitute, and provide a tool that can last all day switching between videos often. */
    
         public class VideoDisplayCustom extends UIComponent
         {
              /* Constructor */
              public function VideoDisplayCustom()
              {
                   super();
                   // We want to have an init() function, so we listen for it's dispatch.
                   this.addEventListener(FlexEvent.CREATION_COMPLETE, init);
                   // We build the actual stuff that plays our videos.
                   createUnderlyingVideoPlayer();
                   // The next three lines ensures that code farther down will work. We compare durations in vidInfo, which is just an array, so we first need to give it a duration
                   // value to compare (it's bad if we compare null to a number)
                   var tempArray:Array = new Array();
                   tempArray["duration"] = 0;
                   vidInfo = tempArray;
              }
    
              /* We need to allow everything time to initialize before we start trying create some things or addressing parts of some components. Looking towards expandability,
               * also, this only makes sense to have.
               * Called from: this.Creation_Complete, which event is fired after this component is all put together. */
              private function init(event:FlexEvent):void
              {
                   // since we added the event listener, we need to pull it off.
                   this.removeEventListener(FlexEvent.CREATION_COMPLETE, init);
                   videoPlayer.visible = true;
              }
    
              /* Global variables */
    
              // Define our constants \\
    
              // Time to buffer, in seconds, before it begins playback. Later assigned to the NetStream object. Since all our files loaded are on the local host, we
              // don't need to set this very high. And if we use a black screen, we can specify a minimum buffer size.
              protected const BUFFER_TIME:Number = 8;
    
              // Public variables \\
    
              // Holds the start volume when the player starts, defined in terms of percentage of total system volume.
              public var defaultVolume:Number = .50;
              // For when we mute, we need to save the previous volume. This wil let us double-check with our dropDown component or other components to make sure that
              // we have the right "lastVolume".
              public var lastVolume:Number = defaultVolume;
              // When we mute our video, we need to know it's muted. Checking to see if it the volume is 0 is not accurate enough, so we have a variable for it. Also,
              // the s:VideoDisplay uses a "muted" variable, and since we want to keep it looking the same from the outside as this component, we keep that variable.
              public var muted:Boolean = false;
              // When we want to loop the video, we need to know that, so here's our loop boolean. Basically, when we hit the end of the video playing, either we issue
              // a "complete" event, or we start playing it again from the beginning. This boolean determines which.
              public var loop:Boolean = false;
              // We need to know if we can smooth the video or not (to improve playback quality). Also something from s:VideoDisplay
              public var smoothing:Boolean = true;
              // We needed a way to carry through the height and width, and for some reason, this.width and this.height were both cleared and reset to 0 before the component is
              // created, or sometime during creation, so we needed to create these variables instead to carry it through. Breaks our "looking the same from outside" attempt.
              public var playerWidth:Number = 1024;
              public var playerHeight:Number = 768;
    
              // Private and protected variables \\
    
              // We need to be able to define a source for our video player. This would be a public variable, but that wasn't allowing for both playing the first video and the
              // subsiquant subclips, so we had to write getter and setter functions for the source, so we can maintain the previous source to know how to act. Thus, we have
              // our newSource and our oldSource.
              protected var newSource:String = "";
              // We also need to know if we have a new source loaded in, so this variable holds the old source.
              protected var oldSource:String = "";
              // We need a video object to attach the NetStream to. So, here that is.
              protected var videoPlayer:Video;
              // We need to have a NetStream to be able to use it, and to create one, we need to have a NetConnection. So, here they are.
              protected var netConnection:NetConnection;
              protected var netStream:NetStream;
              // We need to store the metadata for the video that we load up, so here's our metadata storing object.
              protected var vidInfo:Object;
    
              /* Meathods of this component (aka public functions), visible to the whole program. */
    
              /* This function checks our sources, and if they haven't actually changed, we don't want to reload the stream, so we just tell the hosing component (which for
               * us is the VideoScreenCustom component) that we need to seek. If we load in the new video (netStream.play(newSource), then we can't seek until the video is
               * actually loaded, and we can't always seek from the onMetaData functions below, so this seemed the best way to do it.
               * Called from: play() and playScreenSaver() in VideoScreenCustom.mxml. */
              public function play():void
              {
                   if(newSource == oldSource)
                   {
                        dispatchNeedToSeek();
                   } else {
                        netStream.play(newSource);
                   }
              }
    
              /* Pretty straightforward--we pause the video by pausing the netStream.
               * Called from: pause() in VideoScreenCustom.mxml. */
              public function pause():void
              {
                   netStream.pause();
              }
    
              /* Pretty straightforward--we need to unpause the video where we left off, so we call resume() on the netStream to unpause.
               * Called from: resume() in VideoScreenCustom.mxml. */
              public function resume():void
              {
                   netStream.resume();
              }
    
              /* We don't currently use this, because closing the netStream makes it hard to restart videos and seek, since it's still opening the stream when the seek command
               * is sent, and it stops the screen saver from working properly. It's just best to avoid closing our stream unless we are unloading it or something.
               * Called from: nowhere. This is a place holder / view into other uses. */
              public function stop():void
              {
                   netStream.pause();
                   netStream.close();
              }
    
              /* We need to be able to move around a video and to enter at different entryPoints, so seeking is vital. Here, we make it accessable from outside this component.
               * Called from: loopVideo() in this component, play(), rewindVideo() and fastForwardVideo(), and seekToPoint() from VideoScreenCustom.mxml */
              public function seek(timeToSeekTo:Number):void
              {
                   netStream.seek(timeToSeekTo);
              }
    
              /* Function that mutes the video. When it is called again, it restores the previous volume.
               * Called from: set volume() below, and currently nowhere else. This is a place holder until that feature is requested. */
              public function mute():void
              {
                   if(!muted)
                   {
                        lastVolume = netStream.soundTransform.volume;
                        setVolume(0);
                        muted = true;
                   } else {
                        setVolume(lastVolume);
                        muted = false;
                   }
              }
    
              /* Getter and setter functions */
    
              /* Used by VideoScreenCustom to know what the current time in the video is so that it can rewind, fastforward (by passing through a new time to seek to), and so
               * we can watch for stop points in the video clips. */
              public function get currentTime():Number
              {
                   return netStream.time;
              }
    
              /* Used by the videoScreenCustom to know if it is even possible to fast forward any (if within the skip interval from the end, then FFing is not possible). Also
               * here if ever needed for any other reason. */
              public function get duration():Number
              {
                   return vidInfo.duration;
              }
    
              /* Since we're remembering both the previous and the current source, we need to specify that we are returning the newSource through this getter function.
               * Externally, this looks just like a public variable. */
              public function get source():String
              {
                   return newSource;
              }
    
              /* Since we remember both the old and the current source, when the source is changed (.source = "somePath"), we need to copy the current source, then set the new
               * one so that we can use it in this to know whether to load the video or not (we don't want to load it if it is already loaded in and playing). Externally, this
               * looks just like a public variable.*/
              public function set source(sourceToSet:String):void
              {
                   oldSource = newSource;
                   newSource = sourceToSet;
              }
    
              /* From videoScreenCustom, we set the volume only through videoDisplay.volume=NUM. So, we handle all volume stuff here. It is possible to have the videoScreen
               * call mute() seperately in the future, so we add a little logic here to unmute if muted. Otherwise, we se the volume. */
              public function set volume(volumeToSet:Number):void
              {
                   if(muted)
                   {
                        mute();
                   } else {
                        setVolume(volumeToSet);
                   }
              }
    
              /* We store the metadata information gathered by the NetStream object, so that we can get to it later in this program. This isn't truly a meathod (meaning available
               * to the component hosting this one), but it had to be made public so that the NetStream object could find it. You'll note that we have too onSomeDate() functions.
               * The reason for that is that some video conatiners return one type of data (MetaData), and another returns a different set of metadata (XMPData).
               * Called from: NetStream object, as soon as it gets the metadata and information from the loaded file. */
              public function onMetaData(info:Object):void
              {
                   var oldVidInfo:Number = vidInfo.duration;
                   vidInfo = info;
                   if(oldVidInfo != vidInfo.duration)
                   {
                        dispatchDurationChange();
                   }
                   resizeVideo();
              }
    
              /*See above on onMetaData() for info about this. It does the same thing, but for different file formats (mostly flash-based containers). */
              public function onXMPData(info:Object):void
              {
                   var oldVidInfo:Number = vidInfo.duration;
                   vidInfo = info;
                   if(oldVidInfo != vidInfo.duration)
                   {
                        dispatchDurationChange();
                   }
                   resizeVideo();
              }
    
              /* Private and protected functions of this component, closed off to the rest of the program. */
    
              /* We need to build the essential pieces of the player and leave them in all the time. The basic concept for this player is that we have a Video object to
               * serve as a gateway for the NetStream object, which is what actually connects to the video file and passes it through. The Video object is just the reciever--
               * that means that all calls and commands that we want to deliver to the playing video we instead direct towards to NetStream.
               * Called from: the constructor function. */
              protected function createUnderlyingVideoPlayer():void
              {
                   // create our Video object, attach it to the stage, and resize it (critical--since otherwise, both height and width would be 0).
                   videoPlayer = new Video();
                   addChild(videoPlayer);
                   videoPlayer.width = playerWidth;
                   videoPlayer.height = playerWidth;
    
                   // NetConnection is needed to open the NetStream. When anything changes in this stream, we can handle those changes in netStatusHandler(). When we connect and
                   // pass through null, it means that we have no server and the files will be hosted on the local box.
                   netConnection = new NetConnection();
                   netConnection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
                   netConnection.connect(null);
    
                   // The main piece. Through this netStream, we control video playback, volume, and so forth.
                   netStream = new NetStream(netConnection);
                   netStream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
                   // the client is who the NetStream turns to to find functions for it's events. There is one event that requires handling--the one that calls onMetaData
                   // (or MXPData). It finds those functions in the client object.
                   netStream.client = this;
                   // How long it will buffer before it starts to play the video. Since we're on the local box, our buffer can pretty much be as low as we want.
                   netStream.bufferTime = BUFFER_TIME;
    
                   setVolume(defaultVolume);
                   // Final step: attach the NetStream object to the Video so that the Video knows to pay attention and do something.
                   videoPlayer.attachNetStream(netStream);
              }
    
              /* We need to change the size of the video to fit on the screen. However, it must be noted that sometimes, if it must be stretched too far, then video quality
               * becomes horrible, and so far, no workaround has been discovered.
               * Called from: onMetaData (of all kinds, including XMP and other types of metadata), called whenever a new video is loaded in. */
              protected function resizeVideo():void
              {
                   videoPlayer.width = playerWidth;
                   videoPlayer.height = ((playerWidth * vidInfo.height) / vidInfo.width);
                   videoPlayer.x = 0;
                   videoPlayer.y = ((playerHeight - videoPlayer.height) / 2);
              }
    
              /* In order to change the volume, we have to apply a new soundTransform object. So, here we create it and do that.
               * Called from: mute(), createUnderlyingVideoPlayer(), and the setter function set volume(). */
              protected function setVolume(volumeToSet:Number):void
              {
                   var soundTransform:SoundTransform = new SoundTransform(volumeToSet);
                   netStream.soundTransform = soundTransform;
              }
    
              /* For our screensaver, we needed to allow the video to loop. This function will handle that. The only problem is, since we wait for it to .Stop (see Called from:),
               * there is a pause between the end of the video, and when it starts over.
               * Called from: netStatusHandler for NetStream.Play.Stop */
              protected function loopVideo():void
              {
                   netStream.seek(0);
              }
    
              /* We need to pay attention to what the NetStream is saying and react accordingly. Especially when the video ends. All NetStream andNetConnection events on
               * documentation at Adobe are listed as a comment at the end of the class (very end of this file).
               * Called from: the NetStream and NetConnection event when they spit out an event. */
              protected function netStatusHandler(event:NetStatusEvent):void
              {
                   switch (event.info.code)
                   {
                        case "NetStream.Play.StreamNotFound":
                             trace("Error. Stream not found: " + source);
                             break;
                        case "NetStream.Play.Stop":
                             if(loop)
                             {
                                  loopVideo();
                             } else {
                                  var playedTime:Number = int(netStream.time);
                                  var totalTime:Number = int(vidInfo.duration);
                                  // if we're within 2 seconds of the end, assume we're at the end.
                                  if(Math.abs(totalTime - playedTime) <= 1)
                                  {
                                       dispatchComplete();
                                  }
                             }
                             break;
                   }
              }
    
              /* Event Dispatching Functions */
    
              /* Sent out to let the hosting component (VideoScreenCustom) know that the end of the video clip has been reached.
               * Called from: NetStream's NetStream.Play.Stop event code, sent out whenever the end of the video playing through the stream is reached. */
              protected function dispatchComplete():void
              {
                   var eventObj:TimeEvent = new TimeEvent("complete");
                   dispatchEvent(eventObj);
              }
    
              /* When the new and old sources have different durations (meaning a new video has been loaded), this is called to let the hosing component know we have a new vid.
               * Called from: onMetaData (onXMPData), which is called whenever a video is loaded. */
              protected function dispatchDurationChange():void
              {
                   var eventObj:TimeEvent = new TimeEvent("durationChange");
                   dispatchEvent(eventObj);
              }
    
              /* When we don't have a new video, we still need to call seek() after the NetStream is aware that the video is the same. Or something. I'm not sure why, but we need
               * to seek after things have been set and run for a few microseconds. This is used for FFing, RRing, but mostly for seeking to a new "chapter" in a continuous
               * video during playback.
               * Called from: play() above. */
              protected function dispatchNeedToSeek():void
              {
                   var eventObj:Event = new Event("needToSeek");
                   dispatchEvent(eventObj);
              }
    
         }
    }
    
    /*
    The following table describes the possible string values of the code and level properties.
    Code property Level property Meaning
    "NetStream.Play.Start" "status" Playback has started.
    "NetStream.Play.Stop" "status" Playback has stopped.
    "NetStream.Play.Failed" "error" An error has occurred in playback for a reason other than those listed elsewhere in this table, such as the subscriber not having read access.
    "NetStream.Play.StreamNotFound" "error" The FLV passed to the play() method can't be found.
    "NetStream.Play.Reset" "status" Caused by a play list reset.
    "NetStream.Play.PublishNotify" "status" The initial publish to a stream is sent to all subscribers.
    "NetStream.Play.UnpublishNotify" "status" An unpublish from a stream is sent to all subscribers.
    "NetStream.Play.InsufficientBW"  "warning" Flash Media Server only. The client does not have sufficient bandwidth to play the data at normal speed.
    "NetStream.Play.FileStructureInvalid" "error" The application detects an invalid file structure and will not try to play this type of file. For AIR and for Flash Player 9.0.115.0 and later.
    "NetStream.Play.NoSupportedTrackFound" "error" The application does not detect any supported tracks (video, audio or data) and will not try to play the file. For AIR and for Flash Player 9.0.115.0 and later.
    "NetStream.Play.Transition" "status" Flash Media Server only. The stream transitions to another as a result of bitrate stream switching. This code indicates a success status event for the NetStream.play2() call to initiate a stream switch. If the switch does not succeed, the server sends a NetStream.Play.Failed event instead. For Flash Player 10 and later.
    "NetStream.Play.Transition" "status" Flash Media Server 3.5 and later only. The server received the command to transition to another stream as a result of bitrate stream switching. This code indicates a success status event for the NetStream.play2() call to initiate a stream switch. If the switch does not succeed, the server sends a NetStream.Play.Failed event instead. When the stream switch occurs, an onPlayStatus event with a code of "NetStream.Play.TransitionComplete" is dispatched. For Flash Player 10 and later.
    "NetStream.Pause.Notify" "status" The stream is paused.
    "NetStream.Unpause.Notify" "status" The stream is resumed.
    "NetStream.Record.Start" "status" Recording has started.
    "NetStream.Record.NoAccess" "error" Attempt to record a stream that is still playing or the client has no access right.
    "NetStream.Record.Stop" "status" Recording stopped.
    "NetStream.Record.Failed" "error" An attempt to record a stream failed.
    "NetStream.Seek.Failed" "error" The seek fails, which happens if the stream is not seekable.
    "NetStream.Seek.InvalidTime" "error" For video downloaded with progressive download, the user has tried to seek or play past the end of the video data that has downloaded thus far, or past the end of the video once the entire file has downloaded. The message.details property contains a time code that indicates the last valid position to which the user can seek.
    "NetStream.Seek.Notify" "status" The seek operation is complete.
    "NetConnection.Call.BadVersion" "error" Packet encoded in an unidentified format.
    "NetConnection.Call.Failed" "error" The NetConnection.call method was not able to invoke the server-side method or command.
    "NetConnection.Call.Prohibited" "error" An Action Message Format (AMF) operation is prevented for security reasons. Either the AMF URL is not in the same domain as the file containing the code calling the NetConnection.call() method, or the AMF server does not have a policy file that trusts the domain of the the file containing the code calling the NetConnection.call() method.
    "NetConnection.Connect.Closed" "status" The connection was closed successfully.
    "NetConnection.Connect.Failed" "error" The connection attempt failed.
    "NetConnection.Connect.Success" "status" The connection attempt succeeded.
    "NetConnection.Connect.Rejected" "error" The connection attempt did not have permission to access the application.
    "NetStream.Connect.Closed" "status" The P2P connection was closed successfully. The info.stream property indicates which stream has closed.
    "NetStream.Connect.Failed" "error" The P2P connection attempt failed. The info.stream property indicates which stream has failed.
    "NetStream.Connect.Success" "status" The P2P connection attempt succeeded. The info.stream property indicates which stream has succeeded.
    "NetStream.Connect.Rejected" "error" The P2P connection attempt did not have permission to access the other peer. The info.stream property indicates which stream was rejected.
    "NetConnection.Connect.AppShutdown" "error" The specified application is shutting down.
    "NetConnection.Connect.InvalidApp" "error" The application name specified during connect is invalid.
    "SharedObject.Flush.Success" "status" The "pending" status is resolved and the SharedObject.flush() call succeeded.
    "SharedObject.Flush.Failed" "error" The "pending" status is resolved, but the SharedObject.flush() failed.
    "SharedObject.BadPersistence" "error" A request was made for a shared object with persistence flags, but the request cannot be granted because the object has already been created with different flags.
    "SharedObject.UriMismatch" "error" An attempt was made to connect to a NetConnection object that has a different URI (URL) than the shared object. 
    
    If you consistently see errors regarding the buffer, try changing the buffer using the NetStream.bufferTime property.
    
    */
    

    [/ CODE]

Maybe you are looking for