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

Dmitry Petrenko demask at mail.ru
Wed Dec 15 00:00:35 PST 2010


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

Me too was thinking abount the use of temporary swap file. :-) But as mentioned below, there is no sense of doing this in AVIFileSink as long as we use AVI 1.0 index and user checks output file size from parent code.

>From another hand, the proper implementation of OpenDML AVI index will not require the use of temporary files either. There are multiple index sections (index chunks) can be created within  the single OpenDML AVI file and one small superindex section (index of indexes) is needed in the very beginning of file. The RIFF section in the new format is still limited to 1 Gb, but it's now legal to have more than one RIFF section. Therefore, the best strategy would be: 1) writting bulk of index data to a separate section (and filling appropriate superindex entry to point to this index section) every ~1 Gb or less of video data, 2) finalizing the current RIFF section, 3) starting the new RIFF section and calculating the new bulk of index data. And so on...

Current AVIFileSink implementation creates a starnge empty JUNK section in the beginning of AVI files. I think that was an attempt by the previous author to consider OpenDML superindex implementation in the furher releases.

Kind regards,
Dmitriy Petrenko
  ----- Original Message ----- 
  From: Ron McOuat 
  To: LIVE555 Streaming Media - development & use 
  Sent: Wednesday, December 15, 2010 12:18 PM
  Subject: Re: [Live-devel] key frames (I-frames) in the recorded AVI file


  The bulk of the index could be written to a temp file as the video portion of the file is filled and then attached to the end of the AVI / QT file along with any of the other index information that may be required to wrap the raw index. I know, more to manage and potential problems with partial completion but I think the memory problem is solved by this strategy.

  On 10-12-14 8:13 PM, Ross Finlayson wrote: 
      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).


    Yes, it turns out that we have the same issue for "QuickTimeFileSink".  Unfortunately there isn'e anything we can do about this; these file formats are not well-designed for the purpose of recording incoming streams.
-- 

    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


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


  _______________________________________________
  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/1a43f762/attachment.html>


More information about the live-devel mailing list