【FFmpeg】ffmpeg 命令行参数 ⑨ ( 使用 ffmpeg 进行音视频流处理 | 视频裁剪 / 缩放 / 旋转 / 水印 | 音频降噪 / 混音 / 格式转换 )
2026/6/20 3:21:25 网站建设 项目流程

1. 视频裁剪:精准截取关键片段

视频裁剪是日常处理中最常用的功能之一。我经常遇到需要从长视频中截取精彩片段的场景,比如会议录像中的关键发言、直播回放中的高光时刻。FFmpeg的裁剪功能就像一把精准的手术刀,可以按照帧级精度切割视频。

最基本的裁剪命令如下:

ffmpeg -i input.mp4 -ss 00:01:30 -to 00:02:15 -c:v copy -c:a copy output.mp4

这个命令中的-ss参数指定开始时间(1分30秒),-to参数指定结束时间(2分15秒)。实测发现,加上-c:v copy -c:a copy参数可以避免重新编码,处理速度能快10倍以上,特别适合大文件处理。

更精确的帧级裁剪可以这样操作:

ffmpeg -i input.mp4 -ss 00:05:00 -t 10 -c copy output.mp4

这里的-t 10表示从5分钟处开始截取10秒内容。我曾经用这个方法处理4K视频,相比用专业剪辑软件,FFmpeg的速度快得惊人。

2. 视频缩放:适配不同播放场景

去年我帮朋友处理一批教学视频时,发现原始素材是1920x1080,但需要在平板上展示。通过FFmpeg的缩放功能,可以轻松调整视频尺寸:

ffmpeg -i input.mp4 -vf scale=1280:720 output.mp4

这个命令将视频缩放到720p。如果想保持原始宽高比,可以只指定宽度:

ffmpeg -i input.mp4 -vf scale=640:-1 output.mp4

-1表示自动计算高度。我在处理手机竖屏视频时常用这个参数。

对于专业需求,还可以指定缩放算法:

ffmpeg -i input.mp4 -vf scale=1920:1080:flags=lanczos output.mp4

Lanczos算法能提供更高质量的缩放效果,适合对画质要求严格的场景。

3. 视频旋转:修正拍摄方向问题

手机拍摄的视频经常出现方向错误的问题。上周我收到一个客户发来的视频,所有内容都是倒着的。用FFmpeg的旋转滤镜可以轻松修正:

顺时针旋转90度:

ffmpeg -i input.mp4 -vf "transpose=1" output.mp4

逆时针旋转90度:

ffmpeg -i input.mp4 -vf "transpose=2" output.mp4

水平翻转:

ffmpeg -i input.mp4 -vf hflip output.mp4

垂直翻转:

ffmpeg -i input.mp4 -vf vflip output.mp4

我建议先用ffprobe检查视频的元数据,有些设备会在metadata中记录旋转信息,这时只需要重新封装而不需要实际转码:

ffmpeg -i input.mp4 -c copy -metadata:s:v:0 rotate=0 output.mp4

4. 添加水印:保护版权内容

给视频添加水印是保护版权的有效方法。我常用的水印命令是这样的:

添加图片水印:

ffmpeg -i input.mp4 -i logo.png -filter_complex "overlay=10:10" output.mp4

这个命令将logo.png放在视频左上角(10,10)的位置。

添加文字水印:

ffmpeg -i input.mp4 -vf "drawtext=text='MyWatermark':x=10:y=H-th-10:fontsize=24:fontcolor=white" output.mp4

这个命令在视频右下角添加白色文字水印。H-th-10的计算确保了水印距离底部10像素。

动态水印也很实用:

ffmpeg -i input.mp4 -vf "drawtext=text='%{localtime}':x=w-tw-10:y=h-th-10:fontsize=24:fontcolor=white" output.mp4

这个命令会在视频右下角显示当前时间,适合监控视频处理。

5. 音频降噪:提升语音清晰度

处理录音时,背景噪音是个大问题。FFmpeg的降噪滤镜能显著改善语音质量:

基本降噪命令:

ffmpeg -i input.wav -af "afftdn=nf=-20" output.wav

nf=-20参数控制降噪强度,数值越小降噪越强。我一般从-15开始尝试。

针对持续的背景噪音:

ffmpeg -i input.wav -af "arnndn=m=model.rnnn" output.wav

这个命令使用预训练的RNN模型进行降噪,效果非常好,但处理速度较慢。

6. 音频混音:制作专业音效

混音是音频处理的进阶技巧。去年我制作教学视频时,需要将解说和背景音乐混合:

简单混音:

ffmpeg -i voice.wav -i bgm.wav -filter_complex "amix=inputs=2:duration=longest" output.wav

这个命令将两个音频文件混合,以较长的音频为最终时长。

控制音量平衡:

ffmpeg -i voice.wav -i bgm.wav -filter_complex "[0:a]volume=1.5[a1];[1:a]volume=0.7[a2];[a1][a2]amix=inputs=2:duration=longest" output.wav

这里将人声音量提高50%,背景音乐降低30%,确保语音清晰。

7. 格式转换:兼容各种设备

不同设备支持的音视频格式各异。FFmpeg的格式转换功能非常强大:

视频格式转换:

ffmpeg -i input.avi -c:v libx264 -crf 23 -preset fast output.mp4

这个命令将AVI转换为MP4,使用H.264编码,CRF值控制质量(18-28是常用范围)。

音频格式转换:

ffmpeg -i input.wav -c:a libmp3lame -q:a 2 output.mp3

将WAV转为MP3,质量级别2(0-9,数值越小质量越高)。

批量转换脚本:

for f in *.wav; do ffmpeg -i "$f" -c:a libopus "${f%.*}.opus"; done

这个命令将目录下所有WAV文件转换为Opus格式,适合处理大量文件。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询