一、基础信息查询
-
版本与支持查询
pythonffmpeg -version # 查看版本信息 ffmpeg -codecs # 列出所有编解码器 ffmpeg -formats # 查看支持的文件格式 ffmpeg -filters # 显示可用滤镜
-
文件信息分析
pythonffmpeg -i input.mp4 # 查看视频分辨率/编码/时长等元数据
二、格式转换与转码
-
封装格式转换(不重编码)
pythonffmpeg -i input.mp4 -c copy output.mkv # MP4转MKV ffmpeg -i input.mkv -c copy output.mp4 # MKV转MP4
-
编码格式转换
python# 视频转H.265,音频转AAC ffmpeg -i input.mp4 -vcodec libx265 -acodec aac output.mp4
-
裸流提取
pythonffmpeg -i input.mp4 -an -c:v copy output.h264 # 提取H264视频裸流 ffmpeg -i input.mp4 -vn -acodec copy output.aac # 提取AAC音频
️ 三、视频参数调整
-
分辨率与帧率
pythonffmpeg -i input.mp4 -s 640x480 output.mp4 # 强制分辨率 ffmpeg -i input.mp4 -vf "scale=1280:-1" out.mp4 # 宽度1280,高度等比缩放 ffmpeg -i input.mp4 -r 30 output.mp4 # 修改帧率为30fps
-
码率控制
pythonffmpeg -i input.mp4 -b:v 1M output.mp4 # 视频码率1Mbps
-
剪裁与分段
pythonffmpeg -i input.mp4 -ss 00:01:00 -t 30 -c copy clip.mp4 # 截取1分00秒起30秒片段
️ 四、高级处理功能
-
滤镜特效
python# 添加文字水印 ffmpeg -i input.mp4 -vf "drawtext=text='Watermark':x=10:y=10" output.mp4 # 画面居中缩放(动态效果) ffmpeg -i input.mp4 -vf "scale=w=iw*0.8:h=ih*0.8,pad=iw:ih:(ow-iw)/2:(oh-ih)/2" output.mp4
-
流媒体推流
pythonffmpeg -i input.mp4 -c:v libx264 -f flv rtmp://server/live/stream # 本地推RTMP流
-
视频合并
python# 创建合并列表文件 echo "file 'part1.mp4'" > list.txt echo "file 'part2.mp4'" >> list.txt ffmpeg -f concat -i list.txt -c copy output.mp4
五、音频处理
-
参数调整
pythonffmpeg -i input.mp3 -ar 44100 output.mp3 # 设置采样率44.1kH ffmpeg -i input.mp3 -ab 192k output.mp3 # 设置比特率192kbps
-
格式转换
pythonffmpeg -i input.wav -acodec libmp3lame output.mp3 # WAV转MP3
️ 注意事项
- 编解码效率
- 使用
-preset
参数平衡速度与质量(如-preset fast
) - GPU加速需指定硬件编解码器(如
-c:v h264_nvenc
)
- 使用
- 画质保护
- 优先用
-c copy
避免重编码损失画质 - 缩放建议配合
flags=lanczos
保留细节
- 优先用
完整命令手册:
ffmpeg -h full
动态参数技巧参考:FFmpeg官方文档