On Fri, Feb 22, 2008 at 11:14:31AM -0600, Dion Galbreath wrote: > We are using ffmpeg for live capture, most formats run perfectly > however, mpeg4, and 3gp formats seem to have a memory leak. Well maybe > not a real memory leak, but symptoms exactly none the less... from what > I heard it allocates the index and such for every frame in memory > because it conforms to an older mpeg4 spec. > > ffmpeg's API (av_write_frame(), function which is used to write frame to > file, this function depends on file format. for > mov/3gp/3g2/mp4/h264/h263 it is mov_write_packet()this function while > writing frame to disk build file index (stores position of frame on the > disk). this index is required for file header and it shows where each > frame is on the disk. because of early ISO/IEC design decisions file > header SHALL be saved in one piece in any position of file. since we use > ffmpeg in 'capture' mode (directshow filter wrapper) it does not know > header size in advance, etc and therefore saves it after writing ALL > frames to disk. So if you are writing 24x7 ffmpeg builds index for all > frames written to disk in memory until you stop writing then it will > flush index. since we don't stop it will run out of memory at some > point. > > > Is there a way to get ffmpeg to output the index to a temp file instead > of memory
If you have enough swap space your OS will use it and write the index in the swap file. > or will a newer iso implementation to allow fragmented > headers be used??? Ive never heard of that, what spec does specify that and where can we get that spec (must be free of course). Also I would strongly suggest that you use a container which is well designed and capable of what you want to do, mp4/mov is not. Any container depending on an index will be a bad choice. If i were you id use nut, it has a index but it works perfectly fine without the index. [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Thouse who are best at talking, realize last or never when they are wrong.
signature.asc
Description: Digital signature
_______________________________________________ libav-user mailing list [email protected] https://lists.mplayerhq.hu/mailman/listinfo/libav-user
