Repolode
FFmpeg

FFmpeg/FFmpeg

A C library collection and command-line toolbox for decoding, encoding, converting, filtering and streaming audio, video and subtitles.

Stars
66,623
Forks
14,525
Open issues
3
Last commit
23 hours ago

What is it?

FFmpeg is a set of libraries and command-line tools for working with multimedia content such as audio, video, subtitles and related metadata. It is built around several core libraries: libavcodec for codecs, libavformat for container formats and streaming protocols, libavfilter for a directed graph of audio and video filters, libavdevice for capture and playback devices, and libswscale and libswresample for color conversion, scaling and audio resampling.

On top of these libraries, the project ships the ffmpeg command for converting, manipulating and streaming media, ffplay as a minimal player, and ffprobe for inspecting files. Developers who want to embed multimedia handling in their own software can use the libraries directly, and coding examples are included in the doc/examples directory.

The codebase is mainly LGPL-licensed, with some optional components under GPL. Patches are submitted through the project's own Forgejo instance or the ffmpeg-devel mailing list rather than GitHub pull requests.

Key features

  • 01Decodes and encodes a wide range of audio and video codecs through libavcodec.
  • 02Reads and writes many container formats and streaming protocols such as RTMP, RTSP and HLS.
  • 03Applies audio and video filters through a directed filter graph.
  • 04Converts color spaces, scales images and resamples audio.
  • 05Ships ffmpeg, ffplay and ffprobe command-line tools.

Use cases

  • Converting video or audio files between formats and codecs from the command line.
  • Pushing live streams to RTMP or RTSP servers.
  • Embedding multimedia decoding and encoding into a native application.
  • Inspecting media file metadata and stream details with ffprobe.

Things to know

  • The README gives no install or run commands, so you must find the build instructions in the docs or on the website.
  • The codebase is mainly LGPL, but optional components are GPL, so licensing depends on which parts you enable.
  • GitHub pull requests are ignored, so contributions must go through Forgejo or the mailing list.

In collections

Topics

FAQ

What is FFmpeg?
A C library collection and command-line toolbox for decoding, encoding, converting, filtering and streaming audio, video and subtitles. FFmpeg is a set of libraries and command-line tools for working with multimedia content such as audio, video, subtitles and related metadata. It is built around several core libraries: libavcodec for codecs, libavformat for container formats and streaming protocols, libavfilter for a directed graph of audio and video filters, libavdevice for capture and playback devices, and libswscale and libswresample for color conversion, scaling and audio resampling.
Is FFmpeg free to use? What license does it have?
FFmpeg is open source under the Other license. Check the license terms before using it in commercial products.
Is FFmpeg still maintained?
Actively maintained. The last commit to FFmpeg was on Nov 6, 2026.
What can I use FFmpeg for?
Converting video or audio files between formats and codecs from the command line. Pushing live streams to RTMP or RTSP servers. Embedding multimedia decoding and encoding into a native application. Inspecting media file metadata and stream details with ffprobe.
Where can I get FFmpeg?
The source code and installation instructions are on GitHub: https://github.com/FFmpeg/FFmpeg

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects