Vegas AVI-Header: A Bug?

taliesin wrote on 3/3/2004, 11:45 AM
Vegas creates OpenDML compatible AVI files. On capturing and on rendering. This way AVI files can have lengthes of much more than 1, 2 or 4 GB.

But ...

... if I take a look into the Header of Vegas AVI files I see only the first GB is written as file length (7055 frames). No matter how big an Vegas AVI file is - if it is more than 1 GB the file length in the AVI header is limited to 7055 frames (for PAL DV). I have clips with more than 50000 frames, but the Vegas AVI header tells me there are only 7055 frames.

Now inside of Vegas there is no problem with such files at all.
But there are several applications which really cares about the header info. So if I feed such an application with an Vegas AVI which is 30 minutes in duration - this application only shows bit less than 5 minutes of it. WindowsMediaPlayer version 8 is such an application.
If I manually change the AVI header then, e.g. to MS-AVI, everything's fine. The correct length will be written into the header and any application which is able to open OpenDML compatible AVIs will handle the AVI in full length.

Does anybody know why Vegas wrights a false value into the AVI header?
Why does Vegas DV-AVIs (PAL) have a limit of 7055 frames duration in the AVI header though this is an OpenDML compatible file?

TNX for any info - Marco

Comments

SonyEPM wrote on 3/3/2004, 12:56 PM
From engineering:

It is not specifically stated in the specification (search around google for "odmlff2.pdf") whether or not the individual streams should report their full length or just the length that falls within the first 1 GB RIFF. The DigiSuite from Matrox, one of the writers of the specification, includes only the length of the stream that falls within the first 1GB RIFF. This is assumed to be correct. However, DirectShow/WMP is will not find the real length of a stream if it's not explicitly stated within the stream's header. Our AVI files can be written either way, based on the Vegas general preference "Strictly conform to AVI2 specification". Turn that preference OFF to write "incorrect" OpenDML AVI's that DirectShow/WMP will understand.
JohnnyRoy wrote on 3/3/2004, 1:33 PM
SonyEPM,

There is still something that’s wrong with Vegas files and I wish you would fix it. I've found that some applications like Ulead Cool 3D Production Studio, AlamDV, and particleIllusion SE 2.0 can't open the AVI files I've captured or produced with Vegas but others like VirtualDub and Pinnacle Studio 8 can open them just fine. I think the problem is that Vegas creates OpenDML (AVI version 2.0) compatible files by default and some applications can't handle this but it may be because Vegas doesn't create them correctly. If I go into the Options and select the Video tab and deselect "Create an OpenDML (AVI version 2.0) compatible file" checkbox (i.e., make sure there's no check), then I can open the files I render from Vegas in all of my programs. BUT, the problem then is that this limits the filesize to 1GB.

If I capture my DV AVI files using Pinnacle Studio 8, I can open them in ALL of these applications including Vegas and the filesize is only limited by my hard drive space. (i.e., way more than the 4GB limit). Vegas is doing something on capture and render that is causing conflicts that are unnecessary since Pinnacle Studio 8 has no such problems.

Now I’m not calling it a bug, but whatever Vegas is doing to screw up these files, please make it an option that we can turn off. I have to capture using Pinnacle Studio 8 or re-encode my Vegas captured DV AVI file using my Panasonic DV codec in order to use them in other applications like Cool 3D, particleIllusion, etc.. This is really a pain to have to work around and it would be nice if you fixed it.

~jr
taliesin wrote on 3/3/2004, 1:57 PM
Thanks a lot for this information! It makes some things clearer to me now.

But there is one thing left:
I usually NEVER have "strictly conform to AVI2 specification" turned on. Yesterday I made several tests and analyzed the AVI header with both version - "strictly conform ..." turned on and turned off. But this makes no difference to the AVI header. Same length of 7055 frames has been written in the header in both cases. And in both cases WMP refuses to playback more than 7055 frames (1 GB/4:35 min:sec). This was WMP version 8. WMP version 7 playback at least the file rendered with "strictly conform ..." turned off.
So am I right there's something wrong with WMP version 8?

Marco
taliesin wrote on 3/3/2004, 3:03 PM
O.k. - I just took a look onto that ODML AFFE pdf-file. Very interesting indeed. And now I understand Vegas does a good and absolutely correct job.
The OpenDML specification says main AVI header indicates first RIFF chunk length only. Actual file length is indicated in the extended AVI header. Right the way Vegas does.

Thanks again Marco
donp wrote on 3/3/2004, 6:56 PM
I have a problem too, I posted this on the Canopus Procoder Express forum but didn't get much help there. If I create a Vegas rendered "AVI for Windows" AVI then load it into PCE, PCE only sees the first 4min's and 30 sec. of it even if it's 2 hours long. Another curious thin is that Real Player only sees the same 4 min's etc. shortened length.

Now if I render a "Plugin PAC Frameserver AVI" of the same timeline, this AVI loads correctly into PCE with full movie length.

What is the "Signpost" AVI that the Plugin Pac does doing that the Vegas produced AVI doesn't. PCE shoud accept any "Open DML" AVI I thought.
taliesin wrote on 3/4/2004, 4:11 AM
First be sure you have "strictly conform to AVI2 specifications" turned OFF in the Vegas preferences.

If then an application does not accept full length but stops at 1 GB - then this app either only accepts AVI 1.0 files or this app does not read the AVI structure correctly. Some apps only read the main header of on AVI to determine the file length. This is what I learned yesterday.

What makes me curious in your case is that even the RealPlayer does only see the first GB. I tested the RealPlayer yesterday and it accepted full length - more than 1 GB. I used RealOne Player to do that and - I had "strictly conform to AVI2 specifications" turned off when I rendered the file in Vegas.

Marco