Jump to content
Search Community

Cache problem with large video (500mb

kek test
Moderator Tag

Recommended Posts

hello,

 

i have a problem with large video files i load with videoloader.

My application is a EXE flash file, on a windows computer.

Files are about 500mb (1h~) and when the first load occures, everything is ok.

But when i reload the video, it takes the cache file, and load it immediately or almost. But at 10min or 20 or another time, the video stops and freezes. Athough, the timing still goes on. But the video and sound stops.

 

I use video.load(true), try also autodispose:true, nocache:tue and unload() but the file is always in the cache, and when i reload it (no restart the flash file, but just reload the movie), it takes the file in the cache.

 

please help !

thanks:)

Link to comment
Share on other sites

Is it loading the video over the network or locally?

 

Can you please post a sample FLA (and support files) that demonstrates the issue so that we can compile it ourselves and see what's going on? And you are using the latest version of LoaderMax, right?

Link to comment
Share on other sites

Videos are loaded through network.

 

In fact i use loadermax (last version) because i created my own video loader class and i had the same problem, so i turned to loadermax to solve this, but in fact it's the same issue..

I guess it's a RAM access thing, or whatever, when i reload the movie, the flash file freezes a little because it put the video file in memory (and 500mb is not fast to put in memory, about 1 sec).

 

The flash file is pretty huge, but here's the loading of the video. If needed i can make a tiny fla during the day.

 

laVideo = new VideoLoader(parent.chemin + fichier), {
						  noCache:true,
						  name:"maVideo", 
						  container:clipVideo, 
						  //autoDispose:true,
						  bufferTime:6,
						  //autoAdjustBuffer:true,
						  width:1366, height:768, 
						  scaleMode:"none", 
						  bgColor:0x000000, 
						  onInit:getMeta, 
						  onError:errorHandler
						  });	

 

and in my "kill" function :

 

laVideo.netStream.removeEventListener(NetStatusEvent.NET_STATUS, bufferHandler);
laVideo.removeEventListener(VideoLoader.VIDEO_COMPLETE, finVideo);
laVideo.dispose(true);
//laVideo.unload();
laVideo = null;

 

//comments are lines i tested with / without.

Link to comment
Share on other sites

It looks like you're adding listeners directly to the NetStream object - is that true? Might you be forgetting to remove one or more listeners, thus preventing the NetStream from being garbage collected? Just a thought.

 

It does indeed sound like a memory thing that's not directly related to LoaderMax.

 

And WOW, loading 500MB over the network every time, huh?

 

It would be very helpful to have an FLA that clearly demonstrates the issue in an isolated way - I need the URL of the video too so that things can be reproduced properly.

Link to comment
Share on other sites

I do attach a eventlistener to the netstream, but i remove it. (i removed them in the fla joined)

 

Here is a "simple" version of the fla, it's in flash CS5. You have 2 buttons, one to load the movie (510mb) and the other one to kill it.

 

When you load the movie, it creates a "RubVideo" class in the library, i know it's not the best code but it works for this :)

 

When you kill the video, the object is killed and the videoloader etc..

But if you reclick the button load, the movie loads quickly because it's in cache.

 

Here on my computer i don't have any problem, but on client's computer, i can't seek the video very far (like 10 or 20min). But sometimes on my computer it happens too.. very strange. You'll notice it takes a certain time to put the 510mb in RAM.

 

What i would like, is to load the video from scratch each time, no cache.

In fact the application will be used by 20 users a day, on a private server, not on internet. So they can kill their bandwidth :)

 

thanks again for your help !

Link to comment
Share on other sites

Hi,

 

in fact my client doesn't care that you're on holiday, so i spent my week end on it :)

I think i figured it out by using BulkLoader, a loader class in AS3 you might know I think.

I don't really know the "loading difference" between loadermax and bulkloader, but when i reload my FLV, it doesn't take the FLV in the cache, it reloads it entierly.

 

Well, ok it sucks because the bandwidth takes a huge amount of data, but as i told you, only a few people will use it by day (but it must not have any bug of course).

 

I hope this workaround will fixe the bug, because i spent 2 weeks on it, finding and solving it.

Thanks again for all your work, i'll continue to use Greensocks classes because it's an amazing job. In fact by using Bulkloader i think i cheated on my wife :)

 

thanks again for your time !

Link to comment
Share on other sites

  • 2 weeks later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...