Flash :: Start Or Seek To Sub-second Intervals With NetStream?
Jan 20, 2010
I am working on a Flash Video player and am implementing the ability to start a video at x time within the span of an FLV (served from FMS). I am able to start it x seconds into a stream without any issue using
netStream.play(source, startTime);
but as far as I can tell, it only supports seconds. I am looking to be able to give a start time (or even a seek time if that is supported) in milliseconds, or really anything more precise than whole seconds.
Anyone know of any way to achieve this even by monkey patching the fl classes?
I have a "video on demand" video that I'd like to seek at any point of the video. It's playing on a Motorola Xoom tablet. I can seek to the beginning of the video when the playhead is near the beginning. However, if I the playhead is towards the end of the video and I attempt to seek to the beginning of the video, the video seeks many seconds after the start of the video. I thought this might be a buffering issue, so I set inBufferSeek to true, but I still have the same issue.
I am working on an app that will take a snapshot of an rtmp stream of an archived video, save it to a file, and ExternalInterface the file name to the hosting page to javascript it up for display.
I actually have all pieces working great. The only time an error is thrown is when I pause the video, seek to somewhere, and then try to take a snapshot. Then there is a runtime error of: SecurityError: Error #2123: Security sandbox violation: BitmapData.draw: mySwf.swf cannot access rtmp://myFlashServer/myApp. No policy files granted access.I've seen post after post of suggestions and have tried them, but without success.
I have the crossdomain.xml and my FlashMediaServer security setup fine (it is actually working, except for this one glitch). It just seems to be the pause-then-seek-then-BitMapData.draw() combination which is creating issues.
Another weird thing: after the error is thrown, if I resume the stream and take a snapshot, it works flawlessly again.
I am implementing a video player in Actionscript and I need to be able to define the starting play time for the videos. Netstream.seek(pos) works for flv files but fails for H.264 files (the player starts playing the video from the beginning). Anyone knows what might be the problem? (I am using Netstream for this instead of adding a parameter with the starting time when I call the Netstream.play method because I don't have Flash Media Server).
When working with MOV files using the h.264 codec and AAC sound I am unable to get netStream.seek to work correctly. No matter what argument I pass to netStream.seek it will always seek to 0. I have this problem on both a legacy as2 and a newer as3 video player I have built. Regular flvs work perfectly on both players.
I have a series of movie clips (flv's). All are the same movie clip of a rotating object but it's different colour in each clip.When one clip is playing and I click to play another, I would like the clicked movie clip to start playing from the same position at which the previous clip was at. So if a clip had played for 3 seconds and I click a different clip, I would like it to seek and play from 3 seconds instead of 0.[code]Can anyone tell me how I would go about tracking the data of how many seconds of a clip has played?My guess is that it will either be metadata or NetStatusEvent related.
The problem is that I have an fla video player that uses the netstream class in order to pull a stream (mp4 h264), I've tried this with a few different mp4 files and they all behave the same..Basically, when I goto seek to a position, say 10 seconds into a 300 second mp4, the movie buffer goes blank and my readout of the current time I can see climbing from around 7 seconds and keeps going all the way to the end.. almost as if the seek command is trying to find a keyframe where it can resume from..I'm using http (not rtmp), and thus streaming directly from naive http.After awhile I decided to use the FLVPlayback component, set the source to the same, and it read in some initial metadata.. when I try the movie with the FLVPlayback component I can pause, seek resume to any position without problem, at first I was thinking the problem might have been http related but if the FLVPlayback component works then I'm a little stuck..Also note that I've checked the seekpoints of the movies and there are TONS of them, so the seek command should be able to find a nearby seekpoint to where I suggest.
When working with MOV files using the h.264 codec and AAC sound I am unable to get netStream.seek to work correctly. No matter what argument I pass to netStream.seek it will always seek to 0. I have this problem on both a legacy as2 and a newer as3 video player I have built. Regular flv work perfectly on both players.
I'm trying to play an FLV using the Netstream class - standard stuff, really using nothing more complex than things you can find in the help files. I've created a control panel with a bar you can use to click and drag and scrub through the video.
Exporting to Flash Player 9, it's working fine and I can scrub through the video, but only while the FLV is still loading. As soon as it hits 100% the scrubbing (using Netstream.seek()) becomes incredibly unresponsive, almost to the point of crashing the player.
I've killed all ENTER_FRAMES, removed all unnecessary listeners and nullified everything I can think of but something massively resource-intensive seems to be kicking in as soon as the load finishes.
Has anyone ever seen this? I've never come across this and can't find anything similar across assorted forums.
Code below but I don't think the mouse-move drag actions are the problem! Fine in the Flash CS4 IDE, broken in the browser.
// Drag private function dragVideo(e:MouseEvent):void { // Match the x position of the dragger to the x position of the mouse videoControls.progressBar.dragger.x = videoControls.progressBar.barInner.mouseX;
I am using OSMF v1.0 along with FMS 3.5.3 and flash player 10.1. Whenever i do a seek, lets say to a time 't'. Netstream.time gives me an incorrect result which is more than 1.5*t (varies). So if i seek to 100, i get netstream.time as approx. 160. I also noticed, 'NetStream.info.VideoBufferLength' goes very high (from around 3-4 to 50-60) just before the Netstream.time parameter gets updated and drops backs after update.
I made an interface that laods a FLV video (as far as I know this is progressive download as I'm not using any Flash Media server or whatever).The point is that I added a Button on the stage with the following code:
on (release) { _root.stream_ns.seek(15); }
I also have a event catcher like this in the main timeline:
I have made a video player based on the code from Lee's tutorial and I have modified it with help from code found in this forum. The video is paused from start and thats fine, but the bufferClip shows all the time (like forever) until i press the play button, I just want the bufferClip to be visible for as long the video is buffering.
Code: Select allns.setBufferTime(4); var firstPlay:Boolean = true; ns.onStatus = function(info){
I have two FLV files playing on the stage. The main FLV is instance is: MyVideothe 2nd is MyVideo2I have imported the videos using the wizard. The 2nd video is just a movie I created in Affter Effects that says...loading please wait....this is a really nice video and I don't want it to just use a standard preloader. Anyway, the goal is when the playback for "MyVideo" begins I would like "Myvideo2" to = visible = false;I have tried this many different ways and have been unsuccessful. I am obviously a newb at this. Also, does anyone know where I can get a list of all available eventListener actions...etc?
//var nc:NetConnection = new NetConnection(); //connection_nc.connect(); //var stream_ns:NetStream = new NetStream(connection_nc);
I'm working on a project using a MVC design pattern where flvs are played form a xml playlist. I noticed something strange in the Output window. For the first flv the NetStatusEvent NetStream.Play.Start fires once, the second one fires twice, the third one three times....
Here is the part of the code where I load the video :
I'm making a small video players in AS3, and I've found that after calling NetStream.pause() or NetStream.togglePause(), no status messages are being fired any more.If I click the "pause" button while the video is buffering, I never get the Buffer.Full message.Here is some code:
_connection = new NetConnection(); _connection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler); _connection.connect(null);[code].....
I have a series of mp4 videos (H.236 @ 22 fps) streaming from an akamai FMS serve via RTMP protocol in flash player 9+ with AS 3.My goal is to create client side playlists that smoothly switch from one stream to another. I am creating these playlists using a series of netStream. play (filename,start,len) methods. If I don't use an offset for the start parameter, then the stream switches smoothly from one video to the next with not noticeable jump or jerkiness. However if I introduce a start offset, say a few seconds in, I start to see a quick little hiccup or pause between the seams as it switches from one playlist stream to the next.
I got a bunch of live stream from FMLE, say: "FMLE_channel1", "FMLE_channel2", "FMLE_channel3". And then on the server side, I created several corresponding republished stream called "channel1", "channel2", "channel3".
On periodical basis, we call Stream.get("channel1").play("FMLE_channel1", -1, 10, true) every 10 seconds. Similar things were done on the second channel & third channel.Soon after the above Stream.get("channel1").play() call, I should get the following events in sequence:info :NetStream.Unpublish.Successinfo :NetStream.Publish.Startinfo :NetStream.Play.Resetinfo :NetStream.Play.Start In the above case all are happy. Clients can view channel1, channel2, channel3 well.But then after a while, one of the three channels, in most case it would be channel1, will not be viewable.
With the server trace info, I found that after the Stream.get("channel1").play() call, only the following two events exists:
info :NetStream.Unpublish.Successinfo :NetStream.Publish.Starti.e. I was missing the play.reset and play.start event.I further checked and confirmed that the FMLE was publishing all three channels fine to the server. I was able to view the "FMLE_channel1" from flash clients, but not the republished "channel1". the version is FMS 3.5.0.
Is it possible to somehow tell what scripts/intervals/onEnterFrames are still running in a flash file while viewing the .swf? I seem to be having some possible RAM issues with the .swf and just curious if there is a way to track this.
how would i resize the window in a flash movie at different intervals? example here:[URL] in that movie, the window box resizes at different set intervals.
It feels like it's been ages since I've worked in Action Script (dissapointingly the demand just isn't there for me) and I'm really, really rusty.
I'm working on a Flash banner, and one particular part has 5 movie clips. I want each movie clip to fire off at separate intervals(i set it at 300 miliseconds per clip)
Here is the code I have written that works for two clips:
Code: //Animate each icon var timer:Timer = new Timer(300, 1);//create the timer timer.addEventListener(TimerEvent.TIMER, doNextTween); timer.start();
i have a flash clip that i am trying to imbed into a joomla website of mine, and the problem is that it doesn't auto-start. If i open the swf file it will show a blank screen until i right click play or ctr+entr, on the website it simply doesnt show the flash. here is the link to the swf file [URL]
I've written a little OSMF player that streams via RTMP from Amazon Cloudfront. There's a known issue, the mp3 duration is not correctly readed from metadata and thus the seek function is not working. I know there's a workaround implying the use of getStreamLength function of NetConnection, which I successfully implemented in a previous non-OSMF player, but now I don't know how and when to call it, in terms of OSMF Events and Traits. This code is not working:
Is the Flash Video (or Flex VideoDisplay) component capable of seeking to an exact moment in a video?It seems to always 'snap' to keyframes (which is understandable). I'm just wondering if there are any mechanisms in the video classes for seeking to exact frames, ie it should do the translation from keyframe to specific frame in the background rather than having to actually play the video forward to the desired frame.This is not a streaming file and has nothing to do with buffering. The player is just downloading a movie file from the web and playing it from memory.
It's streaming RTMP, and I'm trying to get my video to seek correctly if the user clicks on the groove bar (gray bar under the green progress bar) Currently it does not seek and gives me a NaN on my duration variable and an error on my progress bar width variable, which is puzzling me.
For some reason my videoDuration variable is coming up as NaN when used inside of my seeker function, also I'm getting a null object reference error when trying to trace out playerCntrls.progressTotalW which is the total width of the groove bar[code]...