[Live-devel] dump h264 video problem

Ross Finlayson finlayson at live555.com
Fri Jul 30 10:10:10 PDT 2010


>On Thu, Jul 29, 2010 at 1:14 PM, Ross Finlayson 
><<mailto:finlayson at live555.com>finlayson at 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/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20100730/920a910d/attachment.html>


More information about the live-devel mailing list