Skip to main content

Introduction to FFmpeg

FFmpeg is a collection of libraries and tools to process multimedia content such as audio, video, subtitles and related metadata. It is the leading multimedia framework, capable of decoding, encoding, transcoding, muxing, demuxing, streaming, filtering and playing pretty much anything that humans and machines have created.

Quick Start

Get up and running with FFmpeg in minutes

Installation

Install FFmpeg on your system

Key Features

Explore what FFmpeg can do

What FFmpeg Can Do

FFmpeg provides comprehensive multimedia processing capabilities:

Format Conversion

Convert between virtually any audio and video format. FFmpeg supports hundreds of codecs and container formats, making it the universal translator for multimedia content.

Streaming

Implement streaming protocols for live broadcasting and on-demand content delivery. FFmpeg handles RTMP, HLS, DASH, and many other streaming protocols.

Encoding & Decoding

Encode and decode multimedia content using a wide range of codecs including H.264, H.265/HEVC, VP9, AV1, AAC, MP3, and many more.

Audio & Video Processing

Apply filters, adjust quality, resize videos, extract audio, create thumbnails, add watermarks, and perform countless other transformations.

Key Features

Wide Format Support

Support for hundreds of multimedia formats and codecs

Powerful Filtering

Advanced audio and video filtering through a directed graph of connected filters

Cross-Platform

Works on Linux, macOS, Windows, and many other platforms

Open Source

LGPL/GPL licensed with active community development

Hardware Acceleration

Support for GPU acceleration on various platforms

Streaming Protocols

Implementation of major streaming protocols for live and on-demand content

Core Libraries

FFmpeg consists of several libraries that work together:
  • libavcodec - Provides implementation of a wider range of codecs
  • libavformat - Implements streaming protocols, container formats and basic I/O access
  • libavutil - Includes hashers, decompressors and miscellaneous utility functions
  • libavfilter - Provides means to alter decoded audio and video through a directed graph of connected filters
  • libavdevice - Provides an abstraction to access capture and playback devices
  • libswresample - Implements audio mixing and resampling routines
  • libswscale - Implements color conversion and scaling routines

Command-Line Tools

FFmpeg includes several command-line tools:
  • ffmpeg - A command line toolbox to manipulate, convert and stream multimedia content
  • ffplay - A minimalistic multimedia player
  • ffprobe - A simple analysis tool to inspect multimedia content
  • Additional tools such as aviocat, ismindex and qt-faststart
FFmpeg is constantly evolving with new features, codec support, and optimizations being added regularly by the active open-source community.

Next Steps

Install FFmpeg

Follow the installation guide for your platform

Quick Start Guide

Learn basic FFmpeg commands and usage patterns

Build docs developers (and LLMs) love