首页 / FFmpeg 入门教程 / FFmpeg 是什么

FFmpeg 入门教程

FFmpeg 是什么

本教程共 32 篇 · 第 1 篇 · 更新于 2026-08-09 · 约 4 分钟阅读

FFmpeg命令行音视频处理ffmpegffplayffprobe开源工具

本节目标:搞懂 FFmpeg 在音视频世界里的位置,知道它由哪几部分组成,以及后续能拿它做什么。

一句话定位

FFmpeg 是一套开源的音视频处理工具集。它能录制、转换、剪辑、串流几乎所有你见过的音视频格式。

你可能没直接用过它,但很多软件背后都是它在干活:浏览器、播放器、直播软件、视频网站,都在调用 FFmpeg。它被称为音视频界的「瑞士军刀」。

本教程基于 FFmpeg 9.0 “Lei”(2026-08-04 发布),所有命令都在这个版本上验证过。

三个命令行工具

安装 FFmpeg 后,你会得到三个可执行文件,它们各有分工。

ffmpeg:主力处理工具

ffmpeg 是最常用的那个。它负责读入一个文件,做处理,再输出另一个文件。转码、剪辑、拼接、加水印、抽音频、做 GIF,全靠它。

ffmpeg -i input.mp4 output.avi

上面这条命令的意思是:读入 input.mp4,输出 output.avi。短短一行,背后已经跑完了解封装、解码、编码、封装四步。

ffplay:极简播放器

ffplay 是一个基于 SDL 的轻量播放器。它能直接播放文件,也能播放网络流。调试时用它快速看结果,比打开大型播放器顺手得多。

ffplay input.mp4

播放时按 qEsc 退出,f 全屏,p/空格暂停,左右方向键快退快进。

ffprobe:信息侦察兵

ffprobe 专门用来「看」文件。它不做转换,只输出元信息:时长、分辨率、帧率、码率、用了什么编码器、有几条音轨。

ffprobe input.mp4

写脚本或排查问题时,ffprobe 是你的第一选择。

八个底层库

FFmpeg 不只是三个 exe,它的核心是八个 C 语言库。命令行工具只是这些库的「外壳」。

  • libavformat:处理各种容器格式(MP4、MKV、TS、FLV 等)的封装和解封装。
  • libavcodec:音视频编解码器的大本营,H.264、AAC、VP9 都在这里。
  • libavutil:工具函数库,内存、数学运算、字符串处理都靠它。
  • libavdevice:采集摄像头、麦克风、屏幕等输入输出设备。
  • libavfilter:滤镜框架,缩放、裁剪、水印、淡入淡出都在这里。
  • libswscale:图像缩放和像素格式转换。
  • libswresample:音频重采样,比如采样率、声道数转换。
  • libpostproc:后期处理,做一些画面优化。
Tip

本教程只讲命令行,不写 C 代码。但知道这些库的分工,能帮你理解为什么某个选项会出现在这里。

FFmpeg 能做什么

列几个常见场景,你心里有个底:

  • 格式转换:MP4 转 MKV,AVI 转 MP4,FLAC 转 MP3。
  • 剪辑截取:剪掉片头片尾,截取其中一段,合并多个片段。
  • 提取音视频:把视频里的音乐单独存成 MP3,或者把音轨去掉只留画面。
  • 调整参数:改分辨率、降码率、换帧率、压缩体积。
  • 截图与缩略图:某一秒截一张图,或者每隔几秒截一张生成拼图。
  • 滤镜处理:缩放、裁剪、旋转、加文字水印、画中画、淡入淡出。
  • 字幕处理:把字幕封进文件里,或者直接烧录到画面上。
  • 流媒体:推 RTMP 直播、切片成 HLS、拉流保存。
  • 设备采集:录屏、录摄像头、录麦克风。

这些场景,后续章节会一个个讲清楚。

为什么学命令行

市面上有很多图形界面工具,比如 HandBrake、ShanaEncoder、格式工厂。它们底层大多也是 FFmpeg。

学命令行的好处有三个:

  1. 可脚本化:一批文件用循环一条命令搞定,不用逐个点鼠标。
  2. 参数可控:每个选项清清楚楚,不被软件的预设「黑箱」。
  3. 服务器可用:远程机器上没有图形界面,SSH 上去只能敲命令。

别被命令行吓到。FFmpeg 的命令虽然长,但结构非常固定,记住几个核心选项就够用了。下一章我们先把它装上。

上一篇
已经是第一篇啦
下一篇
安装与环境配置