Author Topic: Avidemux is a video editor designed for simple cutting, filtering and encoding.  (Read 2594 times)

0 Members and 1 Guest are viewing this topic.

Software Santa

  • Administrator
  • *****
  • Posts: 4258
Avidemux is a video editor designed for simple cutting, filtering and encoding.

Avidemux is a free video editor designed for simple cutting, filtering and encoding tasks. It supports many file types, including AVI, DVD compatible MPEG files, MP4 and ASF, using a variety of codecs. Tasks can be automated using projects, job queue and powerful scripting capabilities.

Avidemux is available for Linux, BSD, Mac OS X and Microsoft Windows under the GNU GPL license. The program was written from scratch by Mean, but code from other people and projects has been used as well. Patches, translations and even bug reports are always welcome.

 Avidemux dependencies – MPlayer, Transcode, FFmpeg, MJPEG Tools

In general, Avidemux does not need external software for reading and writing. Some people believe it uses MEncoder, Transcode, FFmpeg or MJPEG Tools for encoding. This is completely false, even though it contains some borrowed code from these projects.

Avidemux is not an MEncoder frontend. It is not a GUI for MEncoder, it is a standalone program which uses its own code for video editing, reading and writing. The only thing these two programs have in common is that Avidemux includes several filters ported from MPlayer (like denoise3d), plus it uses libavcodec and other libraries (which are used by MPlayer/MEncoder as well as virtually any free software video program).

Avidemux does not use any external video decoders. That's why installing any video codec (for example DivX or Xvid) in the hopes of using it for decoding in Avidemux is a wasted effort (however, Avidemux can use Xvid for encoding). Official Avidemux packages for Microsoft Windows include all external encoders (like Xvid) and decoders and other libraries, so there are no dependencies for them. In particular, as a cross-platform application, it cannot use any DirectShow or VfW decoders or encoders, which are specific to Microsoft Windows.

Avidemux does not use external FFmpeg. A built-in libavcodec library from FFmpeg (i.e. Avidemux contains its own copy of libavcodec, external FFmpeg is not used) is used for decoding and encoding of many formats.

Software vs. format, format vs. codec

Contrary to popular myth, codec is not the same thing as format. Audio or video does not have to be decoded with the same codec it was encoded with. For example, when you encode an MP3 file with the LAME codec, it is not "LAME file", "LAME format", "LAME audio" or just "LAME" – you don't encode "to LAME". It is an MP3 file and it can be decoded with other MP3 decoders, too.

However, the common practice in digital video is using these two terms interchangeably, which is caused by years of industry obfuscations, greedy proprietarism (pretending that their codec is a format is a common business model for codec vendors and a significant source of their income, as it ties the customers to their products), intentional lying in various magazines, websites etc. (in order to make it "easy" for the readers who could be "confused" by correct terms) and nonsensical use of codec FourCC in AVI (that is, codecs have their own FourCC in AVI files, so if the codec uses a common standard format, users are supposed to install multiple decoders for the same format). Historically, when a company released their own proprietary codec, it was automatically supposed to be the only existing codec for that proprietary format.

But there are standards such as MPEG-1, MPEG-2 and MPEG-4. These are specifications and developers can develop software or hardware implementations that encode or decode audio and video according to the specification. There can be multiple codecs, made by different people, using the same compression format such as MPEG-2 (used e.g. on DVDs) or MPEG-4 ASP. Codec is a software (or hardware) implementation that encodes/decodes (hence the term "codec") data to/from some format which can be compatible with other codecs that follow the same specification. Software is not a format.


DivX may arguably be the most widely misunderstood term in the digital video era. Avidemux does not support DivX.

DivX is:

    * A company (DivX, Inc.)
    * A brand name of commercial software products made by DivX, Inc. (e.g. the DivX Player or DivX Pro Codec).
    * An MPEG-4 ASP codec – the DivX Codec (in several variants such as the DivX Pro Codec) is a software product made by DivX, Inc.
    * Trademark of DivX, Inc. (that is, you cannot use the DivX name in the names of your products etc.)

DivX is not:

    * A generic name (that is, only DivX can be called DivX).
    * A different name for MPEG-4, AVI or anything else.
    * Open-source or free software.

The DivX Codec is a commercial piece of software that encodes and decodes MPEG-4 ASP video. Note that software is not a format – "supporting DivX" does not mean "supporting video encoded with the DivX codec", it means supporting the software product made by DivX, Inc., for example by allowing a video editor to use the DivX codec for encoding and/or decoding.

DivX is currently available for Windows and Mac OS. Avidemux is multiplatform, developed primarily on Linux and all codecs it uses are open-source and free. DivX is not available for Linux anymore (an "unofficial" version for developers has been released in 2006) and it's not free (as in Free Software). The older Linux version also did not work properly, with no reaction from the DivX company for 3 years. That's why Avidemux does not support it.

However, as DivX just uses MPEG-4 ASP video compression, it is compatible with other MPEG-4 ASP codecs. The two open-source and free MPEG-4 ASP codecs used by Avidemux are FFmpeg MPEG-4 (built-in, used for decoding and encoding) and Xvid (external, optionally used for encoding). Both are good, feature rich and compatible with DivX to a great degree (although not 100%), thanks to the MPEG-4 standard.


    * Video encoded with the DivX codec is MPEG-4 ASP video.
    * Avidemux can decode video encoded with DivX and other MPEG-4 ASP codecs, it just does not use DivX for that. Avidemux uses built-in libavcodec from FFmpeg for MPEG-4 ASP decoding.
    * MPEG-4 ASP video encoded with Avidemux can be decoded with DivX or various other MPEG-4 ASP decoders such as Xvid, 3ivx or ffdshow. It is not "DivX video" (i.e. you don't "encode to DivX" or "create DivX"), it is MPEG-4 ASP video stored in the AVI container (default in Avidemux) or other containers (optional).


Xvid is an open-source MPEG-4 ASP video codec. Avidemux can optionally use external Xvid library for encoding if it was compiled with Xvid support.

Xvid is:

    * A piece of software (a library).
    * A codec (codec is software).
    * Implementation of MPEG-4 Advanced Simple Profile (ASP).

Xvid is not:

    * A format. There's no such thing as "Xvid video" – it is MPEG-4 ASP video (or AVI/MPEG-4, i.e. MPEG-4 ASP bitstream stored in AVI container). You don't "encode to Xvid" or "play Xvid".
    * An MP3 equivalent for video. AVI files do not contain "MP3 audio and Xvid video codecs". Firstly, AVI files contain audio and video streams, not codecs. Secondly, MP3 is a format, while Xvid is a software product.
    * A different name for MPEG-4, AVI or anything else.
    * Patent free. It is free software, however, MPEG-4 patents apply to Xvid and all other MPEG-4 codecs.
    * Used for decoding in Avidemux. Not even optionally – if all you need is reading and decoding files encoded with Xvid, installing Xvid is useless. Avidemux uses FFmpeg MPEG-4 for MPEG-4 decoding.
    * The only open-source MPEG-4 codec. Contrary to popular belief, other free MPEG-4 codecs exist, too, in particular FFmpeg MPEG-4, which is also used by default in MPlayer, xine, VLC, ffdshow and other projects.


x264 is a free MPEG-4 AVC/H.264 encoder (for the H.264-MPEG-4 AVC relation, see the Wikipedia H.264/MPEG-4 AVC article). Avidemux can use x264 for H.264 encoding.

x264 is:

    * A software library.
    * Implementation of the MPEG-4 AVC specification.

x264 is not:

    * A format. You don't create "x264 video" or "x264 files", you don't encode "to x264". x264 creates H.264 (MPEG-4 AVC) video.
    * A decoder. FFmpeg H.264 is used for H.264 decoding, but video encoded with x264 can be decoded with other compatible H.264 decoders, too. x264 is only an encoder.
    * Patent free. MPEG-4 patents apply to x264, too.