[Red5devs] Ideas?

Steven Zimmer stevenlzimmer at gmail.com
Fri Jun 20 12:09:57 PDT 2008


Thanks Paul this is exact ally what I was looking for - I'm at the stage
where I need the specs to continue. I have found some other reference
information I have picked up along the way as well, I'll submit them with a
patch when I finally get mp4 working. I'm going to be dedicated full time on
this until it's done so hopefully I'm smart enough to solve this. 

 

  _____  

From: red5devs-bounces at osflash.org [mailto:red5devs-bounces at osflash.org] On
Behalf Of Mondain
Sent: June 20, 2008 11:57 AM
To: red5devs at osflash.org
Subject: Re: [Red5devs] Ideas?

 

Youre not being ignored, you now understand why I wasnt able to finish
this.. not enough time in the day :)
The samples dont have to equal the chunks, to get a deeper understanding of
the atom structure of this format you will want to read this doc:
refs/qtff.pdf page 81. It will help you a great deal. (the refs directory is
in the branch)

Paul

On Fri, Jun 20, 2008 at 10:44 AM, Steven Zimmer <stevenlzimmer at gmail.com>
wrote:

I have a feeling I'm being ignored, but I'll try asking anyways. Does anyone
have any idea why on the mp4 branch the mp4 reader is having way less
samples than video chunks? It seems to be that they should be equal I'm not
sure what's going on here. This is what currently is causing the application
to crash. I will plug away at I though but any help that could be provided
would be much appreciated.

 

I believe the problem is in this section of code:

 

            while (records.hasMoreElements()) {

                  x++;

                  log.info("x: ",x);

                  MP4Atom.Record record = (MP4Atom.Record)
records.nextElement();

                  int firstChunk = record.getFirstChunk();

                  int sampleCount = record.getSamplesPerChunk();

                  //log.debug("First chunk: {} count:{}", firstChunk,
sampleCount);

                  pos = (Long) videoChunkOffsets.elementAt(firstChunk - 1);

                  while (sampleCount > 0) {

                        //log.debug("Position: {}", pos);

                  posTagMap.put(pos, sample);

                  samplePosMap.put(sample, pos);

                  //check to see if the sample is a keyframe

                  if (syncSamples.contains(sample)) {

                        //log.debug("Keyframe - sample: {}", sample);

                        positionList.add(pos);

                        //need to calculate ts

                        Integer ts = ((int) videoSampleDuration * (sample));

                        //log.debug("Keyframe - timestamp: {}", ts);

                        timestampList.add(ts);

                  }

                  pos = pos + (Integer) videoSamples.get(sample);

                  sampleCount--;

                  sample++;

                  }

            }


_______________________________________________
Red5devs mailing list
Red5devs at osflash.org
http://osflash.org/mailman/listinfo/red5devs_osflash.org




-- 
It is difficult to free fools from the chains they revere. - Voltaire 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://osflash.org/pipermail/red5devs_osflash.org/attachments/20080620/6e957915/attachment.html 


More information about the Red5devs mailing list