安装FFmpeg
- Windows:
官网下载编译版(https://ffmpeg.org/download.html),解压后将bin
目录加入系统环境变量。 - Linux:
sudo apt update && sudo apt install ffmpeg # Debian/Ubuntu sudo yum install ffmpeg # CentOS
- macOS:
brew install ffmpeg
基础命令结构
ffmpeg [全局参数] [输入文件参数] -i 输入文件 [输出文件参数] 输出文件
- 全局参数:控制日志级别(
-loglevel warning
)、覆盖输出文件(-y
) - 输入/输出参数:指定编解码器(
-c:v
视频编解码器)、格式(-f mp4
)等
高频实用场景
格式转换(MP4 → MOV)
ffmpeg -i input.mp4 -c:v libx264 -preset slow -crf 22 output.mov
-c:v libx264
:使用H.264编码-crf 22
:平衡画质与文件大小(值越小画质越高)
提取音频
ffmpeg -i video.mp4 -vn -acodec libmp3lame audio.mp3
-vn
:忽略视频流-acodec libmp3lame
:指定MP3编码器
裁剪视频片段
ffmpeg -i input.mp4 -ss 00:01:30 -to 00:02:30 -c copy output.mp4
-ss
:开始时间-to
:结束时间-c copy
:直接复制流(无损快速)
调整分辨率
ffmpeg -i input.mp4 -vf "scale=1280:720" output.mp4
scale=1280:720
:缩放到720p(保持比例加scale=1280:-2
)
压缩视频体积
ffmpeg -i input.mp4 -c:v libx265 -crf 28 -preset fast compressed.mp4
- H.265编码(
libx265
)比H.264节省50%空间
合并多个视频
ffmpeg -f concat -i filelist.txt -c copy merged.mp4
filelist.txt
内容示例:file 'clip1.mp4' file 'clip2.mp4'
进阶操作
添加水印
ffmpeg -i input.mp4 -i logo.png -filter_complex "overlay=10:10" output.mp4
overlay=10:10
:水印位于左上角(10,10)像素处
调整播放速度
ffmpeg -i input.mp4 -vf "setpts=0.5*PTS" 2x_speed.mp4 # 加速2倍 ffmpeg -i input.mp4 -vf "setpts=2.0*PTS" half_speed.mp4 # 减速0.5倍
提取视频帧为图片
ffmpeg -i input.mp4 -r 1 -f image2 frame_%03d.jpg
-r 1
:每秒提取1帧
屏幕录制(Linux)
ffmpeg -f x11grab -s 1920x1080 -i :0.0 -f pulse -i default screen.mp4
故障排除
- 错误处理:
-loglevel debug
查看详细日志 - 修复损坏文件:
ffmpeg -i corrupt.mp4 -c copy -map 0 repaired.mp4
- CPU占用过高:
添加-threads 2
限制线程数
安全提示
- 操作前备份源文件
- 使用
-c copy
时确保输入/输出格式兼容 - 处理用户上传内容时,用
-t 300
限制处理时长(单位:秒)
权威引用:
- FFmpeg官方文档:https://ffmpeg.org/documentation.html
- 编解码器支持列表:https://ffmpeg.org/ffmpeg-codecs.html 基于FFmpeg 6.0版本,命令均通过Linux/macOS/Windows平台测试,适用于生产环境*
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/9321.html