On Thu, Jul 29, 2010 at 1:14 PM, Ross Finlayson <<mailto:finlay...@live555.com>finlay...@live555.com> wrote:

I'm not sure. But the basic problem here is that the ".mov" (or ".mp4") file format was very badly designed, and is especially ill-suited for what we are trying to do: Record incoming media streams into a file. The "QuickTimeFileSink" class tries to do this as well as it can, but the basic flaws of the file format makes it difficult. Nonethess, it's possible that the "QuickTimeFileSink" implementation can be improved, so feel free to take a look at it, and let us know if you have any suggestions for improvements/bug fixes.


Doubtful. I've worked with the mp4 file format for a few years now and it's just fine. The more likely problem is QuickTimeFileSink is a limited and basic mov/mp4 implementation, and Live555 is a streaming library, not a container library. If the OP wants nice files, they should use a library intended for writing mp4 files, like mp4v2.

While I don't doubt that the "QuickTimeFileSink" implementation can be improved (perhaps using the "mp4v2" code as a guideline), the fact remains that the ".mov" (or ".mp4") file format is ill-suited for what we are trying to do: Record a file that properly represents incoming audio and video frames that are time-stamped. (There are also other things that I dislike about the file format, including the fact that the files themselves can't be streamed (because of the 'moov' metadata that needs to be received before you can do anything with such a file), nor can partially-received files be played at all. To paraphrase Jeremy's observation: The ".mov"/".mp4" fle format is a format for a media container, not a media stream.)

But this is really beside the point, because this file format exists and is widespread, and people want to record incoming streams into it. So I would welcome any efforts to improve the "QuickTimeFileSink" class. Alternatively, if anyone wants to write a new class (ideally with a similar API to "QuickTimeFileSink") that works the same way, but using the "mp4v2" library instead of our code, then I would be interested in that as well. (I generally dislike having dependencies on third-party libraries, but I'm willing to consider *optional* code that does that.)

--

Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
_______________________________________________
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel

Reply via email to