用ffmpeg压缩视频的所有参数设置

使用FFmpeg压缩视频时,可以通过一系列参数来精细控制压缩过程。以下是一些常用的参数设置,以及它们的作用:

  1. 输入与输出:
  • -i <input>: 指定输入视频文件路径。
  • <output>: 压缩后的视频输出路径。
  1. 视频编码设置:
  • -c:v <encoder>: 视频编码器选择,如libx264(H.264编码器)是常见选择。
  • -preset <preset>: 预设值,平衡编码速度与压缩效率,如slow, medium, fast等,slow提供更好的压缩比但编码更慢。
  • -crf <quality>: 常见视频质量控制参数,范围通常是18-28,值越小质量越好,但文件也越大。推荐值为23作为平衡点。
  • -b:v <bitrate>: 直接设置视频比特率,如-b:v 500k设置视频比特率为500kbps。
  1. 音频编码设置:
  • -c:a <encoder>: 音频编码器选择,如aac
  • -b:a <bitrate>: 音频比特率设置,如-b:a 128k设置音频比特率为128kbps。
  • -ac <channels>: 音频通道数,如-ac 2为双声道。
  1. 分辨率与缩放:
  • -vf scale=<width>:<height>: 视频分辨率设置,如-vf scale=640:360将视频缩放到640×360。
  • -aspect <ratio>: 设置视频的宽高比,如-aspect 16:9
  1. 关键帧与GOP:
  • -g <keyframes>: 设置GOP大小(两个关键帧之间的帧数),影响视频的随机访问性能和压缩效率。
  • -keyint_min <min-keyframes>: 设置最小关键帧间隔。
  1. 其他常用选项:
  • -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

发表回复 0