# FFmpeg

> Collection of libraries and command-line tools (ffmpeg, ffplay, ffprobe) for converting, streaming, playing and inspecting audio, video and subtitles.

Stars: 66.0k · Language: C · Categories: Dev Tools

- Repository: https://github.com/FFmpeg/FFmpeg
- Website: https://ffmpeg.org/
- Page: https://www.trmn.sh/tools/ffmpeg

## Overview

FFmpeg is a collection of libraries and command-line tools for processing multimedia content: audio, video, subtitles and related metadata. The main `ffmpeg` tool is a command line toolbox to manipulate, convert and stream multimedia content. It is accompanied by `ffplay`, a minimalistic multimedia player, and `ffprobe`, an analysis tool for inspecting multimedia files. Small extra tools such as `aviocat`, `ismindex` and `qt-faststart` are also included.

The tools are built on a set of reusable C libraries. `libavcodec` implements a wide range of codecs, `libavformat` handles streaming protocols, container formats and basic I/O, and `libavfilter` alters decoded audio and video through a directed graph of connected filters. `libavdevice` abstracts capture and playback devices, `libswresample` provides audio mixing and resampling, `libswscale` provides color conversion and scaling, and `libavutil` supplies hashers, decompressors and utility functions.

It is used by developers, media engineers and anyone who needs to transcode, filter, probe or stream media files, either from the command line or by linking the libraries into their own applications. Offline documentation is in the doc/ directory, and coding examples are in doc/examples. The codebase is mainly LGPL-licensed, with optional components under GPL. Patches are submitted to the ffmpeg-devel mailing list rather than through GitHub pull requests.

## Alternatives

- [radare2](https://www.trmn.sh/tools/radare2.md): Command-line reverse engineering framework for disassembling, analyzing, emulating, debugging and patching binaries across many architectures and file formats. (C, 25.2k stars)
- [entr](https://www.trmn.sh/tools/entr.md): Runs arbitrary commands when files change using kqueue or inotify to avoid polling (C, 5.7k stars)
- [Chafa](https://www.trmn.sh/tools/chafa.md): Command-line utility that converts images and animated GIFs into ANSI/Unicode character art or terminal graphics formats, built on a C library. (C, 5.4k stars)
- [mkcert](https://www.trmn.sh/tools/mkcert.md): Generate locally-trusted development certificates with automatic CA management for HTTPS testing (Go, 59.8k stars)
- [act](https://www.trmn.sh/tools/act.md): Run GitHub Actions workflows locally using Docker containers for fast feedback and testing (Go, 72.5k stars)

---

Canonical: https://www.trmn.sh/tools/ffmpeg
