explaingit

ffmpeg/ffmpeg

59,637CAudience · developerComplexity · 4/5LicenseSetup · moderate

TLDR

FFmpeg is a powerful toolkit for converting, editing, inspecting, and streaming audio and video files across virtually any format or codec, the engine that powers countless media apps.

Mindmap

mindmap
  root((repo))
    Core Libraries
      Codec library
      Format library
      Color conversion
      Audio resampling
    Command-line Tools
      ffmpeg converter
      ffprobe inspector
      ffplay player
    Supported Formats
      H.264 and HEVC
      MP3 and AAC
      MP4 and Matroska
      HLS streaming
    Use Cases
      Convert media files
      Extract audio
      Trim and resize clips
      Add subtitles
    Filters and Effects
      Blur and crop
      Watermarks
      Resampling
    Integration
      Video editors
      Streaming platforms
      Scripts and automation
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Convert a video file from one format to another, such as MP4 to WebM or MOV to MP4, with a single command.

USE CASE 2

Extract just the audio track from a video file and save it as an MP3 or AAC file.

USE CASE 3

Trim, resize, or add watermarks and subtitles to video clips as part of an automated script.

USE CASE 4

Inspect any media file's technical details, codec, bitrate, resolution, duration, without opening a video editor.

Tech stack

Cffmpeg CLIffprobeffplayH.264HLSMP4AAC

Getting it running

Difficulty · moderate Time to first run · 30min

Install via package manager (brew, apt, choco) or download a pre-built binary. No coding required for basic use, just run ffmpeg commands in your terminal.

FFmpeg uses LGPL and GPL licenses depending on the component. You can use it in your own projects but must follow the open-source license terms, which may require sharing source code in some cases.

In plain English

FFmpeg is a comprehensive set of libraries and command-line tools for working with audio and video files. The problem it solves is that digital media comes in a bewildering variety of formats, codecs, and container types, and converting, editing, streaming, or inspecting those files requires understanding dozens of different technical specifications. FFmpeg handles this complexity behind a single, unified set of tools so you can convert a video from one format to another, extract audio from a video, resize or trim a clip, add subtitles, or stream content over a network, all with consistent commands. The project is organized into several component libraries. The codec library handles compressing and decompressing audio and video data in formats such as H.264, HEVC, MP3, and AAC. The format library handles the file containers and streaming protocols that wrap that compressed data, like MP4, Matroska, and HLS. Additional libraries handle tasks like color conversion, audio resampling, and applying filters such as blurring, cropping, or adding watermarks. On top of these libraries sit three command-line tools: ffmpeg for processing and converting media, ffprobe for inspecting a file's technical details, and ffplay for playing back media files. The entire project is written in C, which gives it high performance and the ability to run on virtually any operating system. FFmpeg is the foundational layer that countless other applications, from video editors to streaming platforms to scientific tools, build on top of. You would use it when you need to convert media files, automate video processing in scripts, or integrate audio and video handling into your own software.

Copy-paste prompts

Prompt 1
Using FFmpeg, how do I convert a .mov file to .mp4 while keeping the same video quality? Give me the exact command.
Prompt 2
Write a bash script that uses FFmpeg to batch-convert all .avi files in a folder to .mp4 and save them to an output folder.
Prompt 3
How do I use FFmpeg to extract the audio from a video file and save it as an MP3? Show me the command and explain each flag.
Prompt 4
Using FFmpeg, how do I trim a video to keep only the section from 0:30 to 1:45 without re-encoding the whole file?
Prompt 5
How do I use ffprobe to check the codec, resolution, and duration of a video file? Show me the command and how to read the output.
Open on GitHub → Explain another repo

← ffmpeg on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.