TL;DR

ffmpeg 是处理音视频的第一工具。核心结构:ffmpeg [全局选项] [输入选项] -i 输入 [输出选项] 输出。动手前先 ffprobe 看文件信息;-c copy 不重编码最快,但要求容器兼容。

查看信息

需求命令
查看媒体基本信息ffprobe input.mp4
查看所有流详情ffprobe -show_streams input.mp4
查看可用编码器 / 滤镜ffmpeg -encoders / ffmpeg -filters

转码与格式转换

需求命令
通用转换(自动选编码器)ffmpeg -i input.flv output.mp4
H.264 + AAC(兼容性最好)ffmpeg -i input.mp4 -c:v libx264 -crf 23 -c:a aac output.mp4
指定分辨率ffmpeg -i input.mp4 -vf "scale=1280:720" -c:a copy output.mp4
提取音频并转 MP3ffmpeg -i input.mp4 -vn -c:a libmp3lame -q:a 2 output.mp3
提取音频(保持原编码)ffmpeg -i input.mp4 -vn -c:a copy output.aac

截取片段

需求命令
快速截取(2:00 起 30 秒,不重编码)ffmpeg -ss 00:02:00 -i input.mp4 -t 30 -c copy output.mp4
精确截取(重编码,逐帧对齐)ffmpeg -i input.mp4 -ss 00:02:00 -t 30 -c:v libx264 -c:a aac output.mp4

注意:-ss 放在 -i 前是快速 seek(落到最近关键帧,配合 -c copy 会有秒级误差);要精确到帧就把 -ss 放输出侧并重编码。

合并与拼接

需求命令
用列表文件合并(参数一致的流)ffmpeg -f concat -safe 0 -i list.txt -c copy output.mp4
list.txt 格式每行 file '1.mp4',用相对路径,UTF-8

压缩与常用滤镜

需求命令
CRF 压缩(18–28,越小质量越高)ffmpeg -i input.mp4 -c:v libx264 -crf 28 -preset faster output.mp4
转 GIFffmpeg -i input.mp4 -vf "fps=15,scale=480:-1" output.gif
抽帧(每秒 1 帧)ffmpeg -i input.mp4 -r 1 frame_%03d.jpg
2 倍速(视频 PTS 减半 + 音频 atempo)ffmpeg -i input.mp4 -filter:v "setpts=0.5*PTS" -filter:a "atempo=2.0" output.mp4
旋转 90°ffmpeg -i input.mp4 -vf "transpose=1" output.mp4

高频排查

来源

最后更新:2026-08-03