<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>Re: [Live-devel] key frames (I-frames) in the recorded AVI</TITLE>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<STYLE type=text/css>BLOCKQUOTE {
PADDING-BOTTOM: 0px; PADDING-TOP: 0px
}
DL {
PADDING-BOTTOM: 0px; PADDING-TOP: 0px
}
UL {
PADDING-BOTTOM: 0px; PADDING-TOP: 0px
}
OL {
PADDING-BOTTOM: 0px; PADDING-TOP: 0px
}
LI {
PADDING-BOTTOM: 0px; PADDING-TOP: 0px
}
</STYLE>
<META content="MSHTML 6.00.6000.17092" name=GENERATOR></HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Hello Ross,</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>I have implemented some functionality related to
AVI indecies in AVIFileSink class. It is yet pretty basic. But after all,
it feets my needs for the video recording.</FONT><FONT face=Arial
size=2> If you (or somebody else) likes I can share the source code
here.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Features:</FONT></DIV>
<DIV><FONT face=Arial size=2>
<DIV><FONT face=Arial size=2>- reuses some code from mpeg4ip (not the library
itself, but *some code* to parse frames)</FONT></DIV></FONT></DIV>
<DIV><FONT face=Arial size=2>- supports AVI 1.0 index (advantage is the
simplicity and compatibility with most AVI players, disadvantage is the
support limited to files < 2Gb only)</FONT></DIV>
<DIV><FONT face=Arial size=2>- supports MP4V-ES streams</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>TODOs:</FONT></DIV>
<DIV><FONT face=Arial size=2>- implement AVI OpenDML index to support files >
2Gb</FONT></DIV>
<DIV><FONT face=Arial size=2>- add support for other stream types (e.g. H.264
and so on)</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Kind regards,</FONT></DIV>
<DIV><FONT face=Arial size=2>Dmitriy Petrenko</FONT></DIV>
<BLOCKQUOTE
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
<DIV
style="BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black"><B>From:</B>
<A title=finlayson@live555.com href="mailto:finlayson@live555.com">Ross
Finlayson</A> </DIV>
<DIV style="FONT: 10pt arial"><B>To:</B> <A title=live-devel@ns.live555.com
href="mailto:live-devel@ns.live555.com">LIVE555 Streaming Media - development
& use</A> </DIV>
<DIV style="FONT: 10pt arial"><B>Sent:</B> Friday, December 10, 2010 9:54
AM</DIV>
<DIV style="FONT: 10pt arial"><B>Subject:</B> Re: [Live-devel] key frames
(I-frames) in the recorded AVI file</DIV>
<DIV><BR></DIV>
<BLOCKQUOTE cite="" type="cite"><FONT face=Arial size=-1>I just was
wondering if it's possible to calculate and write keyframe index
information to the recorded AVI files using AVIFileSink? Implementation
of this class has some hints (like setting AVIF_HASINDEX and
AVIF_TRUSTCKTYPE flags in AVI header) but where is the the actual
implementation?</FONT></BLOCKQUOTE>
<DIV><BR></DIV>
<DIV>The file "liveMedia/AVIFileSink.cpp" contains our complete implementation
of outputting to an AVI file. It could undoubtedly be improved,
however.</DIV>
<DIV><BR></DIV>
<DIV>As always, feel free to propose any specific improvements or bugfixes
that you might have.</DIV><X-SIGSEP><PRE>--
</PRE></X-SIGSEP>
<DIV><BR>Ross Finlayson<BR>Live Networks,
Inc.<BR>http://www.live555.com/</DIV>
<P>
<HR>
<P></P>_______________________________________________<BR>live-devel mailing
list<BR>live-devel@lists.live555.com<BR>http://lists.live555.com/mailman/listinfo/live-devel<BR></BLOCKQUOTE></BODY></HTML>