使用FFmpeg压缩视频时,可以通过一系列参数来精细控制压缩过程。以下是一些常用的参数设置,以及它们的作用:
- 输入与输出:
-i <input>
: 指定输入视频文件路径。<output>
: 压缩后的视频输出路径。
- 视频编码设置:
-c:v <encoder>
: 视频编码器选择,如libx264
(H.264编码器)是常见选择。-preset <preset>
: 预设值,平衡编码速度与压缩效率,如slow
,medium
,fast
等,slow
提供更好的压缩比但编码更慢。-crf <quality>
: 常见视频质量控制参数,范围通常是18-28,值越小质量越好,但文件也越大。推荐值为23作为平衡点。-b:v <bitrate>
: 直接设置视频比特率,如-b:v 500k
设置视频比特率为500kbps。
- 音频编码设置:
-c:a <encoder>
: 音频编码器选择,如aac
。-b:a <bitrate>
: 音频比特率设置,如-b:a 128k
设置音频比特率为128kbps。-ac <channels>
: 音频通道数,如-ac 2
为双声道。
- 分辨率与缩放:
-vf scale=<width>:<height>
: 视频分辨率设置,如-vf scale=640:360
将视频缩放到640×360。-aspect <ratio>
: 设置视频的宽高比,如-aspect 16:9
。
- 关键帧与GOP:
-g <keyframes>
: 设置GOP大小(两个关键帧之间的帧数),影响视频的随机访问性能和压缩效率。-keyint_min <min-keyframes>
: 设置最小关键帧间隔。
- 其他常用选项:
-movflags +faststart
: 使视频更适合流媒体播放,将moov atom移至文件开头。-map_metadata -1
: 移除元数据,减小文件大小。-nostats
: 不显示FFmpeg的统计信息,减少输出噪音。
一个示例命令,综合应用上述参数进行视频压缩:
ffmpeg -i input.mp4 -c:v libx264 -preset slow -crf 23 -c:a aac -b:a 128k -vf scale=-1:720 -movflags +faststart output.mp4
这个命令将会使用H.264编码器以慢速预设压缩视频,保持较好的质量同时尽量减小文件大小,音频使用AAC编码,视频分辨率保持原始宽度并限制高度为720p,同时优化文件以利于在线播放。
请根据实际需求调整这些参数,进行多次测试以找到最佳的压缩设置。
Was this helpful?
0 / 0