<!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>