[Live-devel] key frames (I-frames) in the recorded AVI file

Dmitry Petrenko demask at mail.ru
Tue Dec 14 17:23:02 PST 2010


Re: [Live-devel] key frames (I-frames) in the recorded AVIRoss,

Please find the files attached. The new class AVIFileIndex is responsible for maintaining AVI index copy in memory.

One thing that should be taken into account. The memory allocated by AVIFileIndex for index grows as video is being received and recorded, because index section should be added to the very end of AVI file, just before closure. Although size of index data is very small comparing to video data, it still could potentionally exhaust all available memory after the very long recording (many hours).

I decided to not set any checks or limits within AVIFileIndex class methods, because anyway AVI 1.0 index will not work for the files greater than 2 GB. The checks for the recording time (or better for the recorded size) should be done at the end-user side. When needed, the old AVIFileSink object can be closed and the new AVIFileSink object created to continue recording to another file name. This will free up all the memory allocated for index.

Kind regards,
Dmitriy Petrenko
  ----- Original Message ----- 
  From: Ross Finlayson 
  To: LIVE555 Streaming Media - development & use 
  Sent: Wednesday, December 15, 2010 4:04 AM
  Subject: Re: [Live-devel] key frames (I-frames) in the recorded AVI file


    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. If you (or somebody else) likes I can share the source code here.


  Thanks.  Yes, please send us your new "AVIFileSink.cpp" and "AVIFileSink.hh" classes, and I'll look into including these changes in the next release of the software.
-- 

  Ross Finlayson
  Live Networks, Inc.
  http://www.live555.com/


------------------------------------------------------------------------------


  _______________________________________________
  live-devel mailing list
  live-devel at lists.live555.com
  http://lists.live555.com/mailman/listinfo/live-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20101215/8a3d69eb/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: AVIFileSink.cpp
Type: application/octet-stream
Size: 29428 bytes
Desc: not available
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20101215/8a3d69eb/attachment-0006.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: AVIFileSink.hh
Type: application/octet-stream
Size: 8661 bytes
Desc: not available
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20101215/8a3d69eb/attachment-0007.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: MPEG4Tools.cpp
Type: application/octet-stream
Size: 15651 bytes
Desc: not available
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20101215/8a3d69eb/attachment-0008.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: MPEG4Tools.h
Type: application/octet-stream
Size: 7688 bytes
Desc: not available
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20101215/8a3d69eb/attachment-0009.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: MPEG4Types.cpp
Type: application/octet-stream
Size: 2310 bytes
Desc: not available
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20101215/8a3d69eb/attachment-0010.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: MPEG4Types.h
Type: application/octet-stream
Size: 8291 bytes
Desc: not available
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20101215/8a3d69eb/attachment-0011.obj>


More information about the live-devel mailing list