一、FFmpeg 简介
FFmpeg 是一个开源跨平台的视频和音频处理工具,支持录制、转换、流处理等功能。
安装命令(macOS):
brew install ffmpeg
二、基本命令结构
ffmpeg -i 输入文件 [参数] 输出文件
三、常用命令大全
1. 查看文件信息
ffmpeg -i video.mp4
2. 视频转码(如 mp4 -> avi)
ffmpeg -i input.mp4 output.avi
3. 提取音频
ffmpeg -i video.mp4 -vn -acodec copy audio.aac
4. 提取视频(去掉音频)
ffmpeg -i input.mp4 -an output_no_audio.mp4
5. 转换为GIF动图
ffmpeg -i input.mp4 -t 3 -ss 00:00:02 -vf "fps=10,scale=320:-1" output.gif
6. 截取视频片段
ffmpeg -i input.mp4 -ss 00:01:00 -to 00:01:30 -c copy output_clip.mp4
四、高级功能示例
1. 合并音视频
ffmpeg -i video.mp4 -i audio.aac -c:v copy -c:a aac output.mp4
2. 添加水印
ffmpeg -i input.mp4 -i logo.png -filter_complex "overlay=10:10" output.mp4
3. 合并多个视频
# 先创建文件列表
echo "file 'a.mp4'" > filelist.txt
echo "file 'b.mp4'" >> filelist.txt
ffmpeg -f concat -safe 0 -i filelist.txt -c copy merged.mp4
4. 旋转视频(顺时针90度)
ffmpeg -i input.mp4 -vf "transpose=1" output.mp4
5. 添加字幕(srt)
ffmpeg -i input.mp4 -vf subtitles=sub.srt output.mp4
五、常见参数速查
参数 | 说明 |
---|---|
-ss |
指定起始时间 |
-t |
指定持续时长 |
-vf |
视频过滤器 |
-af |
音频过滤器 |
-c:v |
视频编码器 |
-c:a |
音频编码器 |
-r |
帧率 |
-b:v |
视频比特率 |
-s |
分辨率(如 1280x720 ) |
六、实践技巧与优化
使用
-preset ultrafast
可加速压缩速度(编码质量降低)使用
-crf 23
控制输出质量(范围 0-51,越小越清晰)音视频同步问题?试试
-async 1
或-fflags +genpts
七、常见问题 FAQ
问题 | 解决方案 |
---|---|
合并后音画不同步 | 使用 -fflags +genpts -r 25 |
gif 文件太大 | 加上 fps=10,scale=320:-1:flags=lanczos |
视频无法播放 | 指定编码器 -c:v libx264 -c:a aac |
八、扩展资源
FFmpeg 官方文档:Documentation
FFmpeg 命令查询工具:https://ffmpeg.guide
学习推荐视频:B站搜索“FFmpeg全套教程”或“ffmpeg命令实战”
如果你希望我把这份笔记整理成 PDF、Markdown 或 Word 格式,或者按模块出一系列“每日学习卡片”,也可以告诉我,我来整理。你还想深入哪部分?比如视频压缩、直播推流、滤镜特效等?