Actionscript 3 :: Can't Scrub Through FLV Using Netstream.seek() After FLV Finishes Loading
Oct 27, 2010
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 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.
Just want to throw this out first that I am very new to ActionScript. I am trying to integrate Omniture tracking with a custom Flash player. Here is my dilema.I have this function which populates the "currentVideotime" variable with the current time in the video:
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.
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?
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 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).
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 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:
The code I have so far is included below. Right now the first swf (first of two loaded into main swf) (intro.swf) loads fine on mouseclick of the "go" button. However I would like the first swf to unLoad and the second swf to load ("europe.swf"). This will be a one frame swf that will link to various others. After multiple tutorials/forums I can't figure out how to get the second swf to load while the first unloads.
import flash.display.MovieClip; import flash.display.Loader; import flash.net.URLRequest; go.addEventListener(MouseEvent.CLICK, goIntro); var loaderIntro:Loader = new Loader(); var contentIntro:MovieClip; function
I have created a very basic preloader using flash components 'Loader' and 'ProgressBar". It's job is to load an external swf movie clip/file.
Problem: When the preloader has finished doing it's 'thing', i.e. reaches 100%, it loads/or seeming reveals the external movie already underway i.e. not at the first frame.
I've read a few posts from "Whispers", and have concluded that the problem is that the movie is streaming whilst being loaded. And also that i need to be using "init" in regards to 'listener'.
However i really want to be able to apply this to the code i am using it, as i had just kinda gotten to grips with it (the code).
Is anyone able to tell me what a need to alter to get the preloader to finish loading the movie COMPLETELY before it starts to play.
I am trying to load the output of a php-file into some flash variables and then fill some textfields with those variables. But it seems like even though I have a completehandler it tries to fill the textfields before I get all the data.
Code: function loadQuestion(){ var request:URLRequest = new URLRequest("the url to my php script"); request.method = URLRequestMethod.GET; var loader:URLLoader = new URLLoader(); loader.dataFormat = URLLoaderDataFormat.VARIABLES;
Is it wrong of me to have the completeHandler inside the loadQuestion function? And is it wrong of me to assume that because I put the data in the textfields in the completeHandler it should w8 until its finished loading?
i have this (becoming-abnoxious) client, for which i make a video player (using the NetStream class), who came out today requesting that instead of starting to load the video only when the user clicks the 'play button, he want the video to begin downloading as the player loads (before the user clicks the 'play' button), but only the first 10 minutes of video (most of his videos are long, even up to an hour), and after that the loading will pause, and will resume (from the same point of course) after 3:30 minutes if the user doesn't click the 'play' button in the meanwhile.
i told him no-can-do: i can pause the download after (give-or-take) 10 minutes of video were downloaded, but once the downloading resumes it will start from squqre-one (using what has downloaded to the browser's cache). his reply for that was 'i don't take no for an answer, find a way'.before i give him the 'no-can-do' again, is there anybody who think that my client request is doable?
how to get flv's to load up dynamically using xml - it all works well apart from this one problem that i have.
when the thumbnail for the flv is clicked the preloader appears and the flv starts to load - but for some reason the audio begins to play almost immediately - then when the flv actually loads then the audio plays again whilst the initial (unwanted) audio carries on playing!
I am loading a showreel in my flash file using this:
[Code]...
The .flv is 35mb so the video is understandably jumpy. I was wondering what i should do to get round this... Is there a way to buffer it at the start so that there will be no glitches in it? The showreel has already been compressed quite a lot so can't shave much off the film size...
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].....
what i am looking for is an FLV player type component (doesn't have to be an actual component) that will play SWFs. i need it to have all the same functionality (play, pause, scrub bar, etc...) it seems crazy that there isn't one out there i have even looked in the Exchange area and only seem to find ones that control FLVs or MOVs, not SWFs.
Just curious if anyone has ever discovered a way to scrub through frames one by one on the timeline? I'm not referring to action script nextFrame() kinda thing, I'm referring to the Flash editor only. Seems like a <control> + <right arrow> ought to do something like that but no luck.
I am using NetStream, NetConnection and Video object to play an mp4 file which is hosted over a web server using http.This is an AIR application and the relevant code is pasted below:
var url:String = <some http url>; connect_nc = new NetConnection(); connect_nc.connect(null);
In my application I have a video playing from a NetStream. Every second on timer I update a text label with statistics like stream.info.currentBytesPerSecond. The problem occurs when the NetConnection associated with this NetStream closes: the getter for stream.info throws
I am trying to find out how to make a flash mp3 player. I have downloaded the source codes from the following website : [URL] (Slim version 0.2.3) and have made some minor modifications to fit my needs.
However, I am still clueless as to how to add a "scrub bar" (or progress bar) that would move as the file is playing and go to the location (minute) where i click on.
I want to scrub the timeline using a shortcut. What I mean is... I want to use something like the arrow keys to go forward and back and frame, each keypress taking me back and forth, without having to manually scrub. Hitting Enter and Enter again is not useful enough for what I'm seeking.