🎬 ffmpeg 常用命令大全

1️⃣ 基本操作

功能 命令 说明
查看媒体信息 ffmpeg -i input.mp4 显示视频/音频编码、码率、分辨率、时长等
显示详细信息 ffprobe -i input.mp4 -show_format -show_streams 更详细,推荐用 ffprobe

2️⃣ 转码 / 格式转换

功能 命令 说明
AVI → MP4 ffmpeg -i input.avi output.mp4 自动转 H.264/AAC
强制指定编码 ffmpeg -i input.mp4 -c:v libx264 -c:a aac output.mp4 指定视频编码 H.264,音频 AAC
保持原始编码 ffmpeg -i input.mkv -c copy output.mp4 仅封装格式,不重新编码

3️⃣ 视频剪辑

功能 命令 说明
从 30 秒开始,截取 10 秒 ffmpeg -ss 00:00:30 -t 10 -i input.mp4 -c copy clip.mp4 -c copy 无需重编码
从 1 分钟截取到结尾 ffmpeg -ss 00:01:00 -i input.mp4 -c copy clip.mp4 只设置起始点即可
精准截取(需重编码) ffmpeg -ss 30 -t 10 -i input.mp4 output.mp4 如果起点不是关键帧,需解码

4️⃣ 音频处理

功能 命令 说明
提取音频 ffmpeg -i input.mp4 -vn -acodec copy output.aac 去掉视频
视频替换音频 ffmpeg -i input.mp4 -i new_audio.mp3 -map 0:v -map 1:a -c:v copy -c:a aac output.mp4 保持原视频,换音频
调整音量(2 倍) ffmpeg -i input.mp3 -filter:a "volume=2.0" output.mp3 音量加倍
转码为 MP3 ffmpeg -i input.wav -codec:a libmp3lame -b:a 192k output.mp3 常见压缩

5️⃣ 视频分辨率与帧率

功能 命令 说明
调整分辨率 ffmpeg -i input.mp4 -vf scale=1280:720 output.mp4 缩放到 720p
保持比例缩放 ffmpeg -i input.mp4 -vf scale=-1:720 output.mp4 高度 720,宽度自动算
修改帧率 ffmpeg -i input.mp4 -r 30 output.mp4 改为 30fps

6️⃣ 视频截图

功能 命令 说明
指定时间截图 ffmpeg -ss 00:00:05 -i input.mp4 -vframes 1 shot.jpg 第 5 秒一帧
批量截图(每秒 1 张) ffmpeg -i input.mp4 -vf fps=1 img_%03d.jpg 命名:img_001.jpg
生成缩略图(3x3) ffmpeg -i input.mp4 -vf "select=not(mod(n\,100)),scale=320:240,tile=3x3" thumb.jpg 视频预览九宫格

7️⃣ 视频合并

(1) 同编码视频(无重编码)

# 创建文件列表
echo "file 'part1.mp4'" > files.txt
echo "file 'part2.mp4'" >> files.txt

# 合并
ffmpeg -f concat -safe 0 -i files.txt -c copy output.mp4

(2) 不同编码视频(需转码)

ffmpeg -i part1.mp4 -i part2.mp4 -filter_complex "[0:v][0:a][1:v][1:a]concat=n=2:v=1:a=1[outv][outa]" -map "[outv]" -map "[outa]" output.mp4

8️⃣ 添加字幕

功能 命令 说明
内嵌字幕(烧录) ffmpeg -i input.mp4 -vf subtitles=sub.srt output.mp4 字幕写入视频画面
外挂字幕(不重编码) ffmpeg -i input.mp4 -i sub.srt -c copy -c:s mov_text output.mp4 保留独立字幕流

9️⃣ 压缩与优化

功能 命令 说明
固定码率压缩 ffmpeg -i input.mp4 -b:v 1000k -b:a 128k output.mp4 控制视频+音频码率
CRF 模式(推荐) ffmpeg -i input.mp4 -c:v libx264 -crf 23 -preset veryslow -c:a aac -b:a 128k output.mp4 crf=18-28,数值越小质量越高
去掉音频 ffmpeg -i input.mp4 -an output.mp4 只保留视频

🔟 高级技巧

功能 命令 说明
给视频加水印 ffmpeg -i input.mp4 -i logo.png -filter_complex "overlay=10:10" output.mp4 左上角水印
拼接画中画 ffmpeg -i main.mp4 -i small.mp4 -filter_complex "overlay=10:10" output.mp4 小窗口嵌入
双视频对比(左右拼接) ffmpeg -i left.mp4 -i right.mp4 -filter_complex hstack output.mp4 横向拼接
倍速播放(2 倍) ffmpeg -i input.mp4 -vf "setpts=0.5*PTS" output.mp4 视频加速
慢速播放(0.5 倍) ffmpeg -i input.mp4 -vf "setpts=2.0*PTS" output.mp4 视频减速
❤️ 文章随意转载❤️