Avidemux


Avidemux is an 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". It is written in C++ and uses Qt for its graphical user interface, and FFmpeg for its multimedia functions. Since version 2.4, it has two user interfaces: a GUI and a command-line interface. Since version 2.6, the original GTK port has been unmaintained and is now discontinued. It is free and open-source software released with a GNU General Public License 2.0 or later.
Avidemux is developed for Linux, macOS, and Windows. Unofficial builds exist for FreeBSD, NetBSD, and OpenBSD.

Features

Avidemux is capable of non-linear video editing, applying visual effects to video, and transcoding video into various formats. Some of the filters were ported from MPlayer and Avisynth. Avidemux can so insert audio streams into a video file or extract audio streams from video files.
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 abilities, Avidemux has advanced scripting available for it in GUI and command line interfaces. It supports a non-project system like VirtualDub, which allows simply creating all user configurations and saving a video directly without making a project file. A project queue system is available.
Avidemux has built-in subtitle processing, both for optical character recognition of DVD subtitles and for rendering hard subtitles. It supports various subtitle formats, including MicroDVD, SubStation Alpha, Advanced SubStation Alpha and SubRip.

Components

Avidemux was written from scratch, but code from FFmpeg, MPlayer, Transcode, and Avisynth has been added on occasion. It is a standalone program that needs no other programs to read, decode, or encode. The built-in libavcodec library from the FFmpeg project is used to decode and encode various audio and video formats, such as MPEG-4 ASP.
The primary Avidemux programmer uses the nickname 'Mean' on the Avidemux forum.

Multithreading

is implemented in the following areas of Avidemux :
  • Encoding
  • * MPEG-1 and MPEG-2
  • * MPEG-4 Part 2 SP/ASP
  • ** Earlier versions of Xvid are not compatible with this feature.
  • * H.264/MPEG-4 Part 10 AVC
  • * H.265/HEVC
  • Decoding
  • * MPEG-1 and MPEG-2
  • * MPEG-4 Part 2 SP/ASP

    Supported formats

Avidemux supports following file formats:
NameFile extensionAs inputAs output
Audio Video Interleave.AVI
Advanced Systems Format.ASF,.WMV and.WMA
Flash Video.FLV
Matroska.MKV
MPEG elementary stream
MPEG program stream.MPG and.MPEG
MPEG transport stream.TS
MPEG-4 Part 14.MP4
NuppelVideo.NUV
OGM.OGM
QuickTime.MOV
3GP.3GP
DVD-Video.VOB
WebM.WebM

NameAs inputAs output
AV1
Cinepak
DV
FFV1
H.263
H.264/MPEG-4 Part 10 AVC
H.265/HEVC
HuffYUV
MPEG-1
MPEG-2
MPEG-4 Part 2
Motion JPEG
MSMPEG-4 v2
Raw videoRGB
Raw video – YV12
Snow
Sorenson Video 3
VC-1
VP3
VP6
VP8
VP9
Windows Media Video 8
Y800

NameAs inputAs output
Adaptive Multi-Rate – Narrow Band
Advanced Audio Coding
AC-3
DTS
Linear pulse-code modulation
MP2
MP3
Opus
Pulse-code modulation
Vorbis
TrueHD