View Full Version : Practical disadvantages of AVI
vlada
13th December 2006, 12:53
Hello,
I'm sorry i this has been discussed before, but I couldn't find the answer. I have received a lot of questions why not use MPEG-4 AVC (h.264) in AVI. I know about the problem with b-frames in AVI. I know it causes a lot of problems to developers and I also read the MPEG-4 B-frames in AVI/VFW hackery description (http://forum.doom9.org/showthread.php?s=&threadid=80430).
What practical problem does it cause to me as a user, if I use AVC inside AVI? If I use MP4 or MKV containers it causes IMHO much more practical problems (editing, playback). Also what is here the difference between ASP and AVC in AVI?
What are the most common arguments against AVI?
Thank you.
P.S. I don't use AVI, I use Matroska already for a long time. I just want to know some arguments why people shouldn't use AVI.
foxyshadis
13th December 2006, 14:11
This question has been answered so many times! As a consumer of the format, it plays, and that's all that matters. Of course there's no serious drawbacks, it either works or doesn't.
But you'll never be able to play it in standalone systems. MPEG-PS and TS are the official HD formats, while mp4 is the lingua franca of consumer software (especially commercial), disrupting the old universal use of avi for asp.
Are there playback support problems for mp4? All you need to support it is asp, avc, mp3, and aac, unless you like hacking ac3 in them. You're more likely to have incompatibility in the codec options (eg qpel, resolution) than the format, since mp4 is so restrictive.
vlada
14th December 2006, 11:45
foxyshadis
I know all of this, I'm not a beginner. But as you can see yourself, I don't have any arguments for an average user why not use AVI. But he has many arguments why not use MKV and MP4.
Sharktooth
14th December 2006, 15:49
It has been already discussed to death.
The real problem is AVI doesnt support AVC nor any other advanced codec that make use of "certain" features.
It doesnt even support VBR audio...
In other words if you want AVC in AVI, do it at your own risk. Dont say we didnt warn you and dont come back if you have problems...
KoD
14th December 2006, 21:42
- support for vfr video comes with big overhead and other issues
- although it does allow multiple audio tracks, the most common avi splitter (the one from windows) doesn't enable only one of them at a time so either you have to use some other splitter or the player needs to be aware of the multiple audio streams and build render graphs for only one audio stream at a time
- although avi can embed softsubs, some splitters freak out when they encounter such thing in avi; also, you cannot embed font files in avi to be used when rendering the softsubs
- the whole b-frame stuff is a mess... the way it's implemented in avi is anything but elegant
- some advanced features of common day video formats cannot be used when the container is avi, or can be used but only with certain parameters
- avi cannot embed some audio formats like vorbis
Now, I'm not a person that has encoding as a hobby, so I might have misunderstood a few things and what I wrote above might be neither all true, nor complete.
This doesn't mean avi is not good and it doesn't do its job, but you know, to make a bridge over a summer spring you don't need to call civil engineer constructors, but if you want to make a bridge to link two islands, have constant auto and railway traffic over it and not be afraid that the next storm will bring it down, you build something else than in the first case.
Avi is popular for two reasons: many "press button get avi" or "take avi, press button, get DVD Video disc" applications and the typical "I don't want to learn something new" rant, usually disguised under statements like "mkv/mp4 slows down my computer", "I was never able to play a mkv/mp4 file although I installed all the codecs I found on teh interwebs", "what is this Haali spyware ?!? I don't need it, avi plays fine without it !!!", "mkv/mp4 eats babies", etc.
bond
14th December 2006, 23:15
avi doesnt support advanced audio formats, like vorbis, at all
avi doesnt support vobsubs at all
avi doesnt support mp3 vbr without workarounds
avi doesnt support aac without workarounds
avi doesnt support text subtitles without workarounds
avi doesnt support b-frames without workarounds
avi doesnt support advanced frame reordering (with or without b-frames)
avi doesnt support vfr at all
avi doesnt support multiple video streams at all
avi doesnt support advanced content, like menus, at all
all in all using avi harms the quality, usability and interoperability because of all this
if you dont care about that editing avi with b-frames in virtualdub is a pita, if you dont care about having an audio/video delay with b-frames, if you dont care about that every codec has its own fourcc in avi and therefore every codec needs to be explicitely supported in an avi player, if you dont care about that getting an avi to play on a standalone player is a pita with all the hacks and workarounds used, in the end if you dont care about all this than avi is a container you might use
for everyone else avi is simply an outdated piece of technology, which should not be used anymore as soon as possible
mkv and mp4 is waiting for those who dont want to live with crap
Manao
15th December 2006, 16:35
You dont care about that editing avi with b-framesEditing compressed video with temporal prediction is a pita anyway.If you dont care about that every codec has its own fourcc in avi and therefore every codec needs to be explicitely supported in an avi playerThat's true for any container. ASP codecs in MKV also have a fourcc, which helps when it comes to playback them, since the optimal inverse DCT can be chosen according to it. MP4 doesn't have that possibility...all in all using avi harms the quality, usability and interoperability because of all thisAlas no, since too much developpers, for too long a time, have tried and overcome these issues.
Which, in the end, makes avi a container that still remains userfriendly, but is the developpers' fiend. Because, right now, if someone had to write an avi parser from scratch, I'd really feel bad for him.
mod
15th December 2006, 18:02
I'm not here to defend AVI, but don't forget that who has a SAP can't use MP4 in a lot of cases and MKV at all.
So, 1 (the only 1..) advantage of using AVI is that with ASP + MP3 it works. It's not really exciting, but it does its job.
bond
15th December 2006, 18:02
That's true for any container. ASP codecs in MKV also have a fourcc, which helps when it comes to playback them, since the optimal inverse DCT can be chosen according to it. MP4 doesn't have that possibility....mkv and mp4 have specs for how to store and signal specific video formats. this ensures interoperability and usability, not reached with avi
Alas no, since too much developpers, for too long a time, have tried and overcome these issues. see above for the usability and interoperability problems with avi (i could add even more examples, like the b-frame packed bitsteam mess)
about quality: if using vbr mp3 in avi uses far more overhead than when using the same stream in mp4 or mkv, it means there is less bitrate available for the video streams, which means you get less video quality
if i cant use specific superior formats, like vorbis, this also harms the possible quality because of avi
foxyshadis
16th December 2006, 14:43
Can the beat up old pick up truck with no A/C that breaks down every six months get you across town? Of course it can. Doesn't mean it's not time to retire it whenever feasible, but it doesn't mean it's worth all the righteous condemnation either. Quite a few people have no need to edit or mux at all, still just care "does it play? if not, install ffdshow/codec packs until it does", and the latter certainly isn't an option with avi-based standalones.
MP4 has been nicely fragmented into dozens of competing overlapping ftypes, so I question the difference to fourcc at all. At least non-vfw mkv plays it straight, forces the format as primary format and random junk as subformat, instead of letting every schmuck define their own primary format.
So if all the interesting stuff's been hacked into avi - vbr, other audio formats, menus, subtitles, vfr (with 120fps) - the end user has no reason to change. All burden is on the content producers (even if they're the same person), who you can't convince based on a file format; you have to turn them away from gk/autogk and toward newer tools, where new file format is just a bonus - that support everything they used to do, so they don't have to give up a feature to use a "more advanced" container. In fact, .divx is the only format with successful menus; I've never seen anything but hot air for mkv menus, and mp4's are still in infancy.
(By the way, I hate all the "avi doesn't support blabla without workarounds". The workarounds are avi, even if they aren't part of the specs and contribute to it being a painful mess for parsers.)
bond
16th December 2006, 15:04
noone and nothing cares about ftyps. its not comparable to fourcc at all
check
16th December 2006, 15:30
aren't 4ccs only stored in mkv when the video is stored in the vfw compatibility method?
bond
16th December 2006, 15:32
aren't 4ccs only stored in mkv when the video is stored in the vfw compatibility method?yes .
vBulletin® v3.8.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.