无论是剪辑短视频、转码直播流,还是提取音频、压缩视频,背后往往都离不开一个强大而低调的开源工具 FFmpeg。它被广泛应用于 YouTube、VLC、HandBrake 等知名软件中,被誉为“音视频处理的瑞士军刀”。
但对普通用户而言,FFmpeg 常因命令行界面而显得高冷。在这篇文章中,简鹿办公将用通俗语言带你了解 FFmpeg 是什么、能做什么,并整理最实用的常用命令,助你轻松上手这一神器。
FFmpeg(发音为 /ef-ef-mpeg/)是一个免费、开源、跨平台的音视频处理框架,由 Fabrice Bellard 于 2000 年发起。其名字中的 “FF” 代表 “Fast Forward”(快进),也暗含“灵活自由”之意。
核心能力包括:
格式转换:MP4 → AVI、MOV → MKV、WAV → MP3 等
编解码处理:支持 H.264、H.265、VP9、AAC、Opus 等数百种编解码器
剪辑与拼接:裁剪片段、合并视频、提取帧
滤镜与特效:调色、加水印、降噪、缩放、旋转
流媒体处理:拉取 RTMP 流、推流到直播平台、生成 HLS 切片
元数据操作:修改标题、作者、封面图等
官网地址:https://ffmpeg.org
开源协议:LGPL/GPL(可免费用于个人和商业项目)
FFmpeg 的命令通常遵循以下格式:
ffmpeg [全局选项] [输入文件选项] -i 输入文件 [输出文件选项] 输出文件
-i:指定输入文件
可同时处理多个输入和输出
通过“滤镜”(filter)实现复杂操作,如 -vf(视频滤镜)、-af(音频滤镜)
01. 视频格式转换(最常用!)
ffmpeg -i input.mp4 output.avi
自动根据输出文件后缀选择编码器,简单高效。
02. 提取音频(从视频中分离声音)
ffmpeg -i video.mp4 -q:a 0 -map a audio.mp3
-q:a 0:设置 MP3 音质(0 为最高)
-map a:仅提取音频流
03. 压缩视频(减小文件体积)
ffmpeg -i input.mp4 -vcodec libx264 -crf 28 -preset fast output.mp4
-crf:控制质量(18~28 常用,值越小质量越高)
-preset:编码速度(ultrafast → placebo,越快压缩率越低)
04. 裁剪视频片段(从第10秒开始,截取30秒)
ffmpeg -i input.mp4 -ss 00:00:10 -t 30 -c copy output.mp4
-ss:起始时间(支持 HH:MM:SS 或秒数)
-t:持续时长(秒)
-c copy:直接复制流,不重新编码,速度极快
05. 合并多个视频(需相同编码格式)
先创建 list.txt:
file 'part1.mp4'
file 'part2.mp4'
file 'part3.mp4'
再执行:ffmpeg -f concat -safe 0 -i list.txt -c copy final.mp4
06. 给视频添加文字水印
ffmpeg -i input.mp4 -vf "drawtext=text='© MyChannel':x=10:y=10:fontsize=24:fontcolor=white" output.mp4
支持自定义字体、位置、颜色,适合批量加版权信息。
07. 调整分辨率(适配手机或平台要求)
ffmpeg -i input.mp4 -vf scale=1280:720 output.mp4
scale=-1:720:保持宽高比,高度设为 720
scale=640:ih*640/iw:按比例缩放到宽度 640
08. 提取视频封面(第5秒的帧)
ffmpeg -i input.mp4 -ss 00:00:05 -vframes 1 cover.jpg
-vframes 1:只输出一帧图像
常用于生成视频缩略图
09. 降低音频音量(避免爆音)
ffmpeg -i input.mp4 -af "volume=0.5" output.mp4
volume=0.5:音量减半
也可用 volume=-10dB 按分贝调整
10. 实时推流到 RTMP 服务器(直播必备)
ffmpeg -re -i local.mp4 -c copy -f flv rtmp://live.example.com/app/stream_key
-re:按真实帧率读取(模拟直播)
广泛用于 OBS 替代方案或自动化直播
尽量使用 -c copy(流复制)避免不必要的转码。NVIDIA 用户可加 -hwaccel cuda,Intel 用户用 -hwaccel qsv。路径含空格需加引号如 -i "my video.mp4"。Windows 用户建议用 PowerShell 或 Git Bash,避免 CMD 编码问题。
FFmpeg 虽以命令行为主,但其强大、灵活、免费的特性,使其成为开发者、视频创作者、运维工程师乃至普通用户的得力助手。从简单的格式转换到复杂的流媒体架构,FFmpeg 都能胜任。