← All posts

FFmpeg 是什么

FFmpeg 是开源的音视频处理框架,几乎能解码、编码、转码、混流和播放任何媒体格式。

FFHub·2025-01-24
FFmpeg 是什么

FFmpeg 是开源的音视频处理框架,做解码、编码、转码(transcoding)、混流(muxing)、解复用(demuxing)、推流、滤镜、播放——几乎所有媒体格式都能处理。它基本上是音视频领域的事实标准。

它由几个部分组成

FFmpeg 不是一个单独的工具,而是一组库 + 命令行:

组件用途
ffmpeg做音视频转换的命令行工具
ffprobe分析媒体流信息的命令行工具
ffplay基于 SDL 的简易播放器
libavcodec编解码器库
libavformat处理容器格式(封装/解封装)的库
libavfilter音视频滤镜库

常见用法

转换格式

容器格式互转,最简单的写法(更复杂的玩法看格式转换完整指南):

ffmpeg -i input.mp4 output.avi

提取音频

把视频里的音轨抽出来(详见如何用 FFmpeg 提取音频):

ffmpeg -i input.mp4 -vn -acodec copy output.aac

压缩视频

重新编码减小体积(详细技巧看如何用 FFmpeg 压缩视频):

ffmpeg -i input.mp4 -crf 28 output.mp4

做 GIF

把视频片段转成 GIF:

ffmpeg -i input.mp4 -vf "fps=10,scale=320:-1" output.gif

为什么大家都用它

  • 格式覆盖最全:几乎所有音视频格式都能处理
  • 跨平台:Windows、macOS、Linux 都有
  • 性能好:底层库做了大量优化
  • 完全免费:LGPL/GPL 协议开源
  • 生态大:社区活跃,文档和 issue 都好查

安装

# macOS
brew install ffmpeg

# Ubuntu/Debian
apt install ffmpeg

# Windows(用 Chocolatey)
choco install ffmpeg

确认装好了:

ffmpeg -version

进一步学习

FFHub 整理了一套常用命令和实战配方,需要查具体场景的写法去 FFmpeg Cookbook

延伸阅读

FFmpeg 是什么 | FFHub