<!doctype html public "-//W3C//DTD W3 HTML//EN">
<html><head><style type="text/css"><!--
blockquote, dl, ul, ol, li { padding-top: 0 ; padding-bottom: 0 }
 --></style><title>Re: [Live-devel] dump h264 video
problem</title></head><body>
<blockquote type="cite" cite>On Thu, Jul 29, 2010 at 1:14 PM, Ross
Finlayson &lt;<a
href="mailto:finlayson@live555.com">finlayson@live555.com</a>&gt;
wrote:<br>
<blockquote>I'm not sure. &nbsp;But the basic problem here is that the
&quot;.mov&quot; (or &quot;.mp4&quot;) 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. &nbsp;The
&quot;QuickTimeFileSink&quot; class tries to do this as well as it
can, but the basic flaws of the file format makes it difficult.
&nbsp;Nonethess, it's possible that the &quot;QuickTimeFileSink&quot;
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.<br>
</blockquote>
</blockquote>
<blockquote type="cite" cite><br>
Doubtful.&nbsp; I've worked with the mp4 file format for a few years
now and it's just fine.&nbsp; The more likely problem is
QuickTimeFileSink is a limited and basic mov/mp4 implementation, and
Live555 is a streaming library, not a container library.&nbsp; If the
OP wants nice files, they should use a library intended for writing
mp4 files, like mp4v2.</blockquote>
<div><br></div>
<div>While I don't doubt that the &quot;QuickTimeFileSink&quot;
implementation can be improved (perhaps using the &quot;mp4v2&quot;
code as a guideline), the fact remains that the &quot;.mov&quot; (or
&quot;.mp4&quot;) 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.&nbsp; (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.&nbsp; To paraphrase
Jeremy's observation:&nbsp; The &quot;.mov&quot;/&quot;.mp4&quot; fle
format is a format for a media container, not a media stream.)</div>
<div><br></div>
<div>But this is really beside the point, because this file format
exists and is widespread, and people want to record incoming streams
into it.&nbsp; So I would welcome any efforts to improve the
&quot;QuickTimeFileSink&quot; class.&nbsp; Alternatively, if anyone
wants to write a new class (ideally with a similar API to
&quot;QuickTimeFileSink&quot;) that works the same way, but using the
&quot;mp4v2&quot; library instead of our code, then I would be
interested in that as well.&nbsp; (I generally dislike having
dependencies on third-party libraries, but I'm willing to consider
*optional* code that does that.)</div>
<div><br></div>
<x-sigsep><pre>-- 
</pre></x-sigsep>
<div><br>
Ross Finlayson<br>
Live Networks, Inc.<br>
http://www.live555.com/</div>
</body>
</html>