Linux - SoftwareThis forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
After a long net search i came out to a conclusion. there is no documentations or comparission done on different video encoding codecs out there. while the audio onces are very well tested and documented the video counter part is rarely compared. The fact that there is SO many video codecs out there does not make this task any easier, so im starting this threat to find once and for all the best compression algorithm out there. although there are lots of programs that claim to be the fastest and the best , the fact is the end file is the actual result. personally I have made my choice and it is MENCODER. here is the codecs to be considered:
1- lavc
2- xvid
3- divx
4- x264
and the list goes on. if anybody has and insight on the topic please feel free to share the knowledge.
Relying on MPlayer online documentation (which you MUST read, if you want to know the basics):
- divx: forget it! It is old, proprietary, and non-standard.
- xvid: better than divx, still with limitations.
- mpeg4: the current best choice.
- x264: the future best choice (when more appliances and software will handle it fine).
As for the other codecs, most seem specialized and not worth it, unless you have very slow hardware (nuppel) or you want DVD/SVCD compatibility (mpeg2) or VCD compatibility (mpeg1).
The only reason to use DivX is it has easy-to-use software for Windows users. As theYinYeti said, it is non-standard and lacks plenty of features. Unfortunately those DivX-certified hardware players have limitations too and are not fully MPEG-4 compatible.
XviD and lavcodec (aka FFmpeg) are good and mature MPEG-4 codecs.
AVC (aka H.264) complies to MPEG-4 Part 10 standard. Free AVC codec for Linux users is x264. Again, as said above, it is the future. Best quality, requires quite a processing power to encode.
Well MPEG is a container format not a codec. xvid is a codec. You can have mpeg container but encode using xvid or so that is what I understand. As far as MPlayer and Mencoder the best container format is AVI hands down. Now we have no established a comparision parameters so we will be looking at different codecs and comparing:
#1 Size Vs quality.
#2 encoding Speed.
divx produces very small files which is awesome but the quality does suffer compared to xvid encoding. but xvid almost doubles the file size even if I limit the sampling frequency or video bitrate. i have not tryed x264 yet but i will and i'l keep you guys posted.
p.s thanks for the doom9 link, this is very useful.
Well MPEG is a container format not a codec. xvid is a codec. You can have mpeg container but encode using xvid or so that is what I understand.
I'm pretty sure MPEG is the codec, MPEG-4 has higher compression than MPEG-2 and requires higher processing power. MPEG-2 was solely a codec and needs a transport stream of some sort to deliver it. MPEG-4 is a 'container' as well as a codec and other things. There are 10(?) parts to MPEG-4 these include, 2 codecs (MPEG-4 and H264 (MPEG-4 part 10), system standard, delivery standard and so on.
MPEG-2 can use the MPEG-4 delivery standard as a transportation stream as I understand it.
Xvid and DivX uses MPEG-4 to encode files, not as a container, it is 'their' particular implementation of the codec which may differ slightly along with its configuration but they MUST follow strict guidlines on the format of the stream so ALL players can play the files when the appropriate codecs are installed.
MPEG is an "Experts Group" for "Motion Picture". They regularly create new standards. Usually, Each standard number defines a container format, a video format, and what audio formats can be used alongside.
MPEG1 standard defined the mpeg container, the mpeg1 format (implemented by FFmpeg's mpeg1video codec, now used mainly for VCD) as well as successive audio formats: MPEG1 layer I (unused to my knowledge), MPEG1 layer II (a.k.a. "MP2", for (S)VCD and DVD IIRC) and MPEG1 layer III (the so-called "MP3").
MPEG2 standard defined mainly a new mpeg2 format for video, as used by SVCD and DVD. It is implemented by FFmpeg's mpeg2video codec. I'm not aware of any new audio of container format coming from this standard, except the Multichannel extension to "MP2" (a kind of "5.1" replacement for SVCD).
MPEG3... I don't know. Is there any?
MPEG4 took a long time before being released. So long in fact that Microsoft starting using it before it was officially released; that triggered the development of DivX. At some point in time, some DivX developers were in disagreement with the others (about a licence change, among other things), and started developping the Open-Source project Xvid (which is "divx" reversed). Xvid developped and finally got better than DivX ever was. Meanwhile, MPEG4 finally was finalised, and its video format is implemented by FFmpeg's mpeg4 codec, also known as "ISO mpeg4".
mpeg4 is the most complete, and Divx and Xvid are both more or less a subset of mpeg4 based on a MPEG4 "preview release".
Then, there's also the x264 codec, which seems to implement a "higher level" of the MPEG4 video standard, or something like that...
On the audio side, MPEG4 gives us the AAC format, used by Apple already.
I think there's also something special for the container with MPEG4 but I don't remember what...
This is all to the best of my knowledge. Please correct if you know better or further.
Yves.
Last edited by theYinYeti; 06-22-2006 at 07:07 AM.
There is MPEG-3, I'm not 100% sure but I think MPEG-3 was being developed until they realised it wasnt significantly different to MPEG-2 and just became an update to that standard.
MPEG-4 (or h.264) compression is more or less the compression standard to be used for the next 10 years. MPEG-7 and MPEG-21 are in development (no idea why these numbers were picked) but they are aimed at a more 'complete multimedia environment' allowing slide shows, pictures, haptic's and the delivery system. There is no new video compression for them
i tryed to encode a video using xvid and lavc. xvid gave me a little better quality but took a hell of a lot longer to encode. 24 minutes (xvid) Vs. 6 minutes (lavc). Thats some serious time factor. both were encoding using mpeg4, mp3 with the same bitrates and single pass. The weird thing is the xvid file size was bigger too (12megs more than lavc). so I'm ruling xvid out unless somebody didnt get similar results. I'm thinking that it might be a parameter missing or something. can someone confirm this.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.