Maximum output filesize for Write_AVI
Carl Ott from United States  [5 posts]
4 years
STeven or anybody in the community,

can you talk about the maximum output filesize for Write_AVI?
It appears that Write_AVI is getting hung up at 4GB, failing to write a file any larger, and leaving an output file that is corrupt.

Other programs such as VirtualDub appear able to read and write files that are 9 GB and even 27 GB.  It even appears that the RoboRealm Media_Reader module can read such large files.

Is there a way around this, or is it likely that I'm doing something wrong?
Is Write_AVI OpenDML compliant?


ps.  this is occurring with RoboRealm 2.50.27
Carl Ott from United States  [5 posts] 4 years

probing deeper, it appears that the real Write_AVI problem is a 2 GB limit, not a 4 GB limit.

A file of 1,953,104 KB appears to be intact and well behaved.

But larger output files such as 3,531,664 KB appear to have "missing index blocks" and "invalid chunks" (according to VirtualDub analysis).

Oddly, Write_AVI attempts to write files larger than 2 GB, even though they are corrupted.  But then it stops near 4 GB, even though input continues much longer, and processing appears to be normal in the RoboRealm preview window.  For example, Write_AVI stopped writing three different files after it reached one of these two lengths:
4,194,357 KB
4,194,304 KB
And I have not seen it write any files larger than that.


Steven Gentner from United States  [1370 posts] 4 years

You are correct ... there is a limitation of Write_AVI in terms of size. That's not something we did but rather an issue with how Windows handles that particular technique of writing files.

Do you really need such large files or can you break them into smaller units? For example, we can break then on size, or time or number of frames. Would that make them more or less usable?

Given some of the other issues you've been having perhaps that module is due for an overhaul.


Carl Ott from United States  [5 posts] 4 years

unfortunately, it appears that my use case dictates large files, or at least having Write_AVI automatically create a sequence of uncorrupted files.  The output series should have with filenames that index in the last few digits (named and indexed as Write_AVI already creates when manually stopped and started).  But it would help if Write_AVI would stop and start automatically when it gets near the filesize limit.

I am finding RoboRealm extremely useful for the task at hand.  But it involves processing an arbitrary number of relatively short previously captured clips.  That means I either need to get RoboRealm to batch-iterate through many clips, or I need to find an external way to drive RoboRealm, either with an external script to cause RoboRealm to process one clip at a time, or with an external tool that concatenates many source clips into one giant source clip.  Even though the current project is just a proof of concept, it currently has nearly 800 smaller source clips comprising over 80 hours, which I will concatenate into 10 or 12 large source clips.  Eventually, we hope to have much more to muscle through.

So in this proof of concept case, I need to do as much as possible with as little custom scripting as possible.  I've found it reasonable to add an extra step by using VirtualDub to concatenate source clips w/o recompresion.  And Media_Reader appears to handle such large files well enough.  But I'm using Write_AVI after a Movement module and with "Use Real Time" unchecked.  So it's writing frames at wildly varying rates depending on source content and masks/thresholds.  Hence, unless Write_AVI is changed, I'll have to kick off RoboRealm on one large source file at a time, keep an eye on the output file size, and then manually pause Media_Reader, Stop and Start Write_AVI, and Continue Media_Reader until I get through each of the 10 or 12 large source files.

It would be helpful if Write_AVI would at least internally detect the 2GB limit, and automatically close one file and start a new one.  I could then take the output files as-is, or use VirtualDub once again to concatenate them.  Actually, such a feature alone would really help complete a current project in the next week or so. That would let me press go just 10 or 12 times to get through all of the source data.

However, it would even more helpful if Write_AVI could avoid breaking files up, and use a method similar to VirtualDub or Sony Vegas, that deals well with large files.

FWIW, it appears that those crashes I was causing over the weekend were compounded by the sequence I was using to control the RoboRealm GUI.  I was very consistently starting by Starting Write_AVI first, and then Run, and then Starting Media_Reader.  Or Write_AVI, Media_Reader and then run.  However, it appears that the RoboRealm engine doesn't like that.  I'm finding consistently better results by starting Media_Reader/Run first, letting the pipeline process for 10 or 20 source video seconds until/when data usually starts to show in the preview window, and then and only then starting Write_AVI.

Anyhow, any advice or patches would be greatly appreciated.


This forum thread has been closed due to inactivity (more than 4 months) or number of replies (more than 50 messages). Please start a New Post and enter a new forum thread with the appropriate title.

 New Post   Forum Index