gitmyhub

FFmpeg

C ★ 61k updated 9h ago

Mirror of https://git.ffmpeg.org/ffmpeg.git

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.

Cffmpeg CLIffprobeffplayH.264HLSMP4AACsetup: moderatecomplexity 4/5

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.

Where it fits