Avidemux is a free and open-source software application for non-linear video editing and transcoding multimedia files. The developers intend it as "a simple tool for simple video processing tasks" and to allow users "to do elementary things in a very straightforward way".[3] It is written in C++ and uses Qt for its graphical user interface, and FFmpeg for its multimedia functions. Starting with version 2.4, Avidemux also offers a command-line interface, and since version 2.6, the original GTK port has not been maintained and is now discontinued.
Avidemux is capable of non-linear video editing, applying visual effects (called "Filters" by Avidemux) to video, and transcoding video into various formats. Some of the filters were ported from MPlayer and Avisynth. Avidemux can also insert audio streams into a video file (an action known as multiplexing or "muxing") or extract audio streams from video files (an action known as "demuxing").
An integral and important part of the design of the program is its project system, which uses the SpiderMonkey JavaScript engine. Whole projects with all options, configurations, selections, and preferences can be saved into a project file. Like VirtualDub's VCF scripting capabilities, Avidemux has advanced scripting available for it both in its GUI and command line modes. It also supports a non-project system just like VirtualDub, where users can simply create all of their configurations and save the video directly without making a project file. A project queue system is also available.
Avidemux was written from scratch, but additional code from FFmpeg, MPlayer, Transcode and Avisynth has been used on occasion as well. Nonetheless, it is a completely standalone program that does not require any other programs to read, decode, or encode other than itself. The built-in libavcodec library from the FFmpeg project is used for decoding and encoding various audio and video formats, such as MPEG-4 ASP.
The primary (though not the only) Avidemux programmer uses the nickname 'Mean' on the Avidemux forum.[7]
Multithreading
Multithreading has been implemented in the following areas of Avidemux (some partially through libavcodec):
^Avidemux developers (12 November 2012). "Avidemux Quickstart". avidemux.org. Archived from the original on 12 September 2020. Retrieved 12 September 2020. Avidemux is a simple tool for simple video processing tasks. The keyword here is simple: it does not offer tools like a timeline, multitrack editing, you cannot freely move or splice audio and video clips from various sources. However, Avidemux allows you to do elementary things in a very straightforward way.