Niels,

If you can read C#, find the source file attached. I suppose you can
work this out :-)

The class of interest is FLVAnalyzerProgress.

The FLVReader.close() and FLVReader.analyzeKeyFrames() have been
modified to fit this analyzer class.

When the keyframes are analyzer, I serialize them to a binary file. His
way, I can load them from this file too. The only problem is that the
data is not aware of any changes to the source video. This needs to be
worked out stil..

Apart from this, I used local variables instead of the functions and
properties provided by the stream classes. The stream classes proved to
be slowing this down. Although the delay is only about 10%, I decided to
add the locals to get more speed.

Keep in mind that this is code from the 0.62 trunk!


For the movie from Google Video, please give me a link to download it
from. I can then test this agains this version and see howlong it takes
to generate the key-frames file.

I hope this clarifies my modifications. If not, please do not hesitate
to reply! :-)

/Rob

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
Behalf Of Niels Joubert
Sent: donderdag 9 augustus 2007 23:20
To: [email protected]
Subject: Re: [Red5] Long Audio-Only Flv Playback - BUGFIX UNDER WAY

Hello Rob!

That sounds interesting. As part of my scheme I have only one indexing 
object per FLV on disk, so if multiple people are accessing the same 
stream, each one will have an FLV reader, but each of those readers will

refer to the same index object. Mine doesn't queue any requests though.

It seems that to get the full duration of a video clip, you need to 
build the index, since FLV files per definition does not have a 
"duration" header, only a duration metadata flag, whihch is never 
guaranteed to be set. This is why I stepped away from an 
"index-if-neccesary" scheme, but rather always build it in the 
background. Did you get around this? Could you explain your scheme a bit

more? My code will be in Jira sometime soon, so you can take a look at 
it then.

Altough i'd like to share the video i'm using, it is unfortunately not 
content i'm in a position to release, so i'm going to have to direct you

to a different source. We can both grab a movie of Google Video.

Can you say a bit more of the optimization you've done for the C# 
version? I haven't touched any of the live-streaming code, only working 
with the VOD type things, touching the readers, files and 
PlaylistSubscriber, etc.

Rob Schoenaker wrote:
> Niels,
>
> I have implemented a queuing mechanism around this that generates
> keyframe-data when requested. As soon as multiple requests for the
same
> file are made, they queue up and wait for the master-analyzer to
finish.
>
> Also, since I did some substantial optimization on the C# version of
the
> code. I would like to test with you big 4 hour video file, if
possible.
> This may aid in getting more analyzer-performance on your end, or
mine.
>
> So, if possible, please provide a download link for the 4 hour video
> file.
>
> Cheers,
>
> Rob Schoenaker
>
>
> _______________________________________________
> Red5 mailing list
> [email protected]
> http://osflash.org/mailman/listinfo/red5_osflash.org
>   


_______________________________________________
Red5 mailing list
[email protected]
http://osflash.org/mailman/listinfo/red5_osflash.org

_______________________________________________
Red5 mailing list
[email protected]
http://osflash.org/mailman/listinfo/red5_osflash.org

Reply via email to