FFmpeg快速上手:新手必看的20个命令行技巧清单
【免费下载链接】FFmpegMirror of https://git.ffmpeg.org/ffmpeg.git项目地址: https://gitcode.com/gh_mirrors/ff/FFmpeg
FFmpeg 是一款免费、跨平台的多媒体处理工具,一行命令即可完成视频格式转换、剪辑、压缩、截图等常见操作。本文面向新手和普通用户,精选 20 个最实用的 FFmpeg 命令行技巧,并附上官方文档路径,帮助你 10 分钟内上手多媒体处理。🎬
💡 核心关键词提示:FFmpeg 命令行、视频格式转换、视频剪辑、压缩体积。文中涉及的官方离线文档都在 doc/ 目录,工具源码在 fftools/。
一、安装与第一个命令
1. 三种安装方式任选其一
- 包管理器(推荐新手):
sudo apt install ffmpeg(Debian/Ubuntu)、brew install ffmpeg(macOS) - 官网预编译版:从官方下载页拿对应系统的压缩包,解压即用
- 源码编译:先运行 configure 脚本,再执行
make与make install,流程详见 INSTALL.md
2. 验证安装成功
ffmpeg -version能打印出版本号(如ffmpeg version 8.x)就说明安装成功。想列出所有支持的格式和编解码器,可以用:
ffmpeg -formats # 支持的容器格式 ffmpeg -codecs # 支持的编解码器3. 认识万能命令骨架
FFmpeg 命令行看似吓人,实际套路固定,官方文档 doc/ffmpeg.txt 给出了完整说明:
ffmpeg [全局选项] [输入选项] -i 输入文件 [输出选项] 输出文件记住「输入用-i,选项放前面,输出文件放最后」,90% 的命令都能写出来。✅
二、视频格式转换技巧(4个)
4. 快速转换格式(如 MP4 → MKV)
ffmpeg -i input.mp4 output.mkv不指定编码参数时,FFmpeg 会根据输出容器自动选择合适的默认编码器。
5. 强制指定编码器
ffmpeg -i input.mp4 -c:v libx264 -c:a aac output.mp4-c:v指定视频编码,-c:a指定音频编码。常用组合:H.264 + AAC(兼容性最好)、VP9 + Opus(同画质更小)。
6. 只改容器、不重新编码(极速!)
ffmpeg -i input.mkv -c copy output.mp4-c copy表示「原样复制」,不解码不重编码,速度几乎是实时的,体积也不变。适合 MKV 转 MP4、修改封装格式等场景。⚡
7. 把视频转成 GIF
ffmpeg -i input.mp4 -vf "fps=10,scale=480:-1" output.gif10 帧/秒 + 宽度 480 像素,出来的 GIF 既流畅又不会太大。
三、视频剪辑技巧(5个)
8. 按时间截取片段(无损)
ffmpeg -ss 00:00:10 -to 00:00:30 -i input.mp4 -c copy clip.mp4截取第 10 秒到第 30 秒。-ss放在-i前面可以大幅加快定位速度,-c copy保证不重编码。
9. 精准剪辑(允许重编码)
无损裁剪只能在关键帧处切,若剪点不整齐导致画面卡顿,可去掉-c copy重编码,实现帧级精准:
ffmpeg -ss 00:00:10 -to 00:00:30 -i input.mp4 clip.mp410. 合并同格式视频文件
先用文本列出文件清单,再执行:
ffmpeg -f concat -safe 0 -i list.txt -c copy output.mp4list.txt内容形如:
file 'a.mp4' file 'b.mp4'同编码的视频合并同样走copy路线,秒级完成。
11. 给视频加字幕
ffmpeg -i input.mp4 -i sub.srt -c:v copy -c:s mov_text output.mp4把外挂 SRT 字幕烧进容器(可开关)。若想直接印在画面上:
ffmpeg -i input.mp4 -vf "subtitles=sub.srt" output.mp412. 裁剪画面区域
ffmpeg -i input.mp4 -vf "crop=640:360:80:20" output.mp4crop=宽:高:左上角x:左上角y,适合裁掉播放器黑边或截取画中画。
四、压缩与画质调优技巧(5个)
13. 两遍编码控制目标体积
ffmpeg -i input.mp4 -c:v libx264 -b:v 1000k -pass 1 -an -f null /dev/null ffmpeg -i input.mp4 -c:v libx264 -b:v 1000k -pass 2 output.mp4指定1000k目标码率,两遍扫描后整体体积约等于 1 Mbps 的时长。
14. 用 CRF 控制「画质恒定」
比固定码率更聪明的做法:
ffmpeg -i input.mp4 -c:v libx264 -crf 23 output.mp4CRF 值越小画质越好:18~23 适合大多数场景,23 是默认平衡值,30 以上明显模糊。
15. 降低分辨率快速瘦身
ffmpeg -i input.mp4 -vf "scale=1280:-2" output.mp4宽 1280、高按原比例自适应(-2保证偶数,编码器要求)。
16. 降低帧率
ffmpeg -i input.mp4 -vf "fps=24" output.mp417. 调整音量与声道
# 音量翻倍 ffmpeg -i input.mp4 -af "volume=2.0" output.mp4 # 只保留单声道、降采样率 ffmpeg -i input.mp4 -af "channellayout=mono,aresample=44100" output.mp4音频滤镜说明可查阅 doc/ffmpeg-filters.texi。
五、音频处理技巧(3个)
18. 从视频中提取音频
ffmpeg -i input.mp4 -vn -c:a copy audio.m4a-vn表示不要视频。若要 MP3:-c:a libmp3lame -q:a 2 audio.mp3(q:a0~9 越小越好)。
19. 音频格式互转
ffmpeg -i song.flac -c:a libmp3lame -q:a 2 song.mp320. 合并多段音频并加淡入淡出
ffmpeg -i a.mp3 -i b.mp3 -filter_complex "[0:a][1:a]concat=n=2:v=0:a=1,afade=t=in:st=0:d=1" out.mp3六、进阶加分技巧
21. 批量生成视频截图(封面图)
# 每秒截 1 张 ffmpeg -i input.mp4 -vf "fps=1" frame_%03d.png # 指定时间点截一张 ffmpeg -ss 00:00:05 -i input.mp4 -frames:v 1 cover.jpg22. 用 ffprobe 体检媒体文件
同套工具里还有分析神器 ffprobe:
ffprobe -v quiet -print_format json -show_format -show_streams input.mp4JSON 输出里能查到分辨率、帧率、编码、时长、码率等全部元信息,配合 doc/ffprobe.texi 使用。
23. 用 ffplay 快速试播
ffplay 是自带的最小播放器,调试转码结果时不必装第三方软件:
ffplay output.mp424. 变速不变调
ffmpeg -i input.mp4 -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" fast.mp4视频和音频分开调整时间戳,实现 2 倍速播放且音调正常。
七、高效学习路径
| 想解决什么 | 看哪里 |
|---|---|
| 所有命令与选项全表 | doc/ffmpeg.txt、doc/ffmpeg.texi |
| 滤镜(缩放/裁剪/字幕)详解 | doc/ffmpeg-filters.texi |
| 支持的编码器/解码器列表 | doc/codecs.texi |
| 支持的封装格式 | doc/formats.texi |
| 设备采集与输出 | doc/ffmpeg-devices.texi |
| 编码调优预设 | presets/ 目录 |
| 库级开发示例(C 语言) | doc/examples/ |
常见问题速查 🛠️
- 转码慢?加
-threads 0让 FFmpeg 自动用满 CPU 核心。 - 输出文件打不开?多半是编码与容器不匹配,如 MP4 里用
copy塞 MPEG-2 音频,此时应重编码音频。 - 中文参数乱码?确认终端编码为 UTF-8,字幕文件名含特殊字符时用
-safe 0规避路径限制。 - 想看实时进度?命令默认会在 stderr 打印完成百分比(如
time=00:01:23.45 size= 54MB)。
小结
FFmpeg 命令行的精髓可以浓缩成一句话:固定骨架ffmpeg -i 输入 -选项 输出+ 按需替换选项。建议先从「格式转换、剪辑、压缩、截图」四个高频场景练起,把本文 20+ 个命令敲一遍,你就能覆盖日常 95% 的多媒体处理需求。更多细节欢迎继续翻阅 doc/ 下的离线文档,祝玩得开心!🚀
【免费下载链接】FFmpegMirror of https://git.ffmpeg.org/ffmpeg.git项目地址: https://gitcode.com/gh_mirrors/ff/FFmpeg
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考