一句话定位:FFmpeg 是音视频处理领域最底层的开源工具,没有界面、只有命令行,但格式转换、压缩、剪辑、合并、提取音轨、录屏、加字幕这些事它全能干,而且免费、无水印、可批量。
痛点:一次转码,被逼着装一堆软件
日常工作里和视频打交道的场景其实很零碎:把手机拍的 MOV 转成 MP4 发给别人,把一段 2GB 的录屏压到 200MB 以内,从视频里把背景音乐抽出来,把十个片段拼成一个,给一堆素材统一转成竖屏。市面上的转换软件,免费版普遍限时长、加水印、限并发,付费版一年几百块;专业剪辑软件能做的事更多,但为了转个格式打开一个几百 MB 的工程,实在是用大炮打蚊子。更麻烦的是批量场景:三十个文件要同一套参数,图形界面只能一个个排队点,命令行一条循环就搞定。
核心能力
- 格式通吃:几乎市面上所有容器和编码都支持,MOV、MKV、AVI、WebM、FLAC、AAC、Opus 之间随意转换。
- 体积可控:用 CRF 恒定质量模式,或直接指定目标码率,压缩比与画质自己权衡。
- 硬件加速:支持 NVIDIA NVENC、Intel QSV、AMD AMF,转码速度能提升数倍。
- 剪辑与拼接:
-ss和-t精确截取片段,concat把多个文件无损拼成一个。 - 音轨与字幕:抽出音频、替换音轨、烧录字幕、内嵌字幕轨道都能做。
- 画面处理:缩放、裁剪、旋转、加水印、调帧率、生成 GIF 缩略图。
- 录屏与推流:Windows 下用
gdigrab直接录桌面,也能推到 RTMP 服务器。 - 可脚本化:一条
for循环处理整个文件夹,配合计划任务就是一套自动流水线。
实测体验
我拿一段 2.4GB 的 1080p 录屏做压缩测试。用 H.264 的 CRF 23 重新编码,输出 780MB 左右,画面细节在正常观看距离下几乎看不出差别,只有快速运动的字幕边缘有轻微涂抹感,耗时约十一分钟(八核 CPU)。同一段素材切到 NVENC 硬件编码,两分钟不到就跑完,文件略大一些(约 900MB),画质差异在放大到 200% 逐帧对比时才明显。
批量场景更能体现价值。我把一个文件夹里三十多个手机视频统一转成 1080p、30fps 的 MP4,写一条循环命令,去泡了杯咖啡回来就全好了,文件名规则统一,不用一个个点。提取音轨更简单,一条命令把整段视频的音频抽成 192kbps 的 MP3,几秒钟完成。唯一需要适应的是报错:参数写错时它只回一句 "Invalid argument",得自己对着文档一行行排查。
适合谁
- 内容创作者:批量转码、压缩上传素材,省下付费软件的订阅费。
- 运维与开发者:把转码嵌进自动化流程,视频上传后自动生成多个清晰度。
- 需要处理大量素材的人:会议录像、课程视频、行车记录,统一规格一次搞定。
- 想摆脱水印的人:免费软件里少有的"完全无功能限制"。
- 折腾派:想搞清楚视频文件到底由哪些部分构成,它是最好的一本教科书。
需要注意的地方
- 纯命令行,学习曲线陡:参数数量以千计,新手建议先配一个图形界面(如 HandBrake、Shutter Encoder),需要批处理时再回来写命令。
- 有损转码不可逆:已经压过的成品不要再反复转,每转一次画质都会掉一层。
- CRF 和码率别同时设:两个参数互相打架,结果往往不符合预期。
- 注意许可证:核心是 LGPL,但不少预编译版本打包了 GPL 组件,商业分发要看清授权。
- 硬件编码画质略逊:同码率下 NVENC 通常不如 CPU 软编,追求画质就用慢速预设。
- Windows 版需自己找构建:官方只提供源码,建议用信誉好的第三方构建或包管理器安装。
小结
FFmpeg 是那种"平时想不起来,需要时救命"的工具。它没有漂亮的界面,也不能靠点鼠标完成任务,但一旦你把常用的几条命令存成脚本,之后所有重复的转码活儿都可以交给它,而且不花钱、不加水印、不限次数。对于偶尔处理视频的普通用户,配个图形界面就够;对于经常和几十上百个文件打交道的人,早点学会它,能省下大量机械劳动。