Hi, On Wed, 25 Feb 2004, Richard Ellis wrote: > When I last used quicktime, it did, but that was about a year ago now > and prior to the change over to the new quicktime libs in the tools. > I just stuck with avi after that in part because I also find it > preferable to have 10 1.7G files to shuffle about vs. one single 17G > file. Unless the manner in which the new quicktime libs handle the > files has changed, it will have the same problems. As best I could > tell, lavrec (or more correctly the quicktime/avi support libs) > output a skeleton block at the front of the file that will become the > file header when the file is closed, but is not itself a proper > header. Because it's not a proper header, attempting to read the > file while it's still being recorded into by lavrec results in the > other tools complaining that they can't read the file.
In the past year, I've experimented (successfully!) with re-writing headers after every single frame. The reason for that was twofold: first, I needed a movie format where the index is in the *beginning* of the frame, and secondly, I needed a movie format that can be read while being recorded. I ended up using matroska (http://www.matroska.org/), because it is able to place the index (with fixed size) before the data. The consequence of that is that I can overwrite the file header + index after each frame and thereby have the beneifts of MPEG and indexed files together. Header rewriting is possible for AVI, too, but doesn't get you anywhere, since the index is missing. You could write the index after the file data after each frame, but the issue is that if I read the index and my recorder overwrites it with the next frame, I still get nowhere. So this is simply not possible. Same for quicktime. The result of this "hack" was that I can write and read a movie at the same time, *safely*, and with only three fseeks() (one to the file table-of-contents, one to the index, which I read, and then - after parsing the index - one to the actual cluster that corresponds to my requested timepoint) and one large fread() (the index ;) ), I can seek to any time point in my movie (even if it's VBR!). This is impossible with AVI, Quicktime, MPEG or any other format. Not sure about Ogg... I'm planning to clean up the code I have and submit it (it's lightly based on lavrec, and I call it "lavrec 2.0") to mjpegtools CVS... I don't have a timeframe, however, my studies currently tend to eat up all my time... Might be interesting for all you TiVo lovers. :). Ronald ------------------------------------------------------- SF.Net is sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps & Web services for Linux with a free DVD software kit from IBM. Click Now! http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click _______________________________________________ Mjpeg-users mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/mjpeg-users