我正在尝试在 Windows 平台上使用 ffmpeg 将配置为 1080p 分辨率;18Mps 视频比特率;30fps 的视频转换为 1080p;18Mps;60fps。
我使用以下命令:ffmpeg -i input.avi -r 60 output.avi
观察:我观察到,不仅转换了每秒的帧数,视频比特率也降低到了 4Mps。
我哪里做错了?我应该怎么做才能只转换每秒的帧数?我是否缺乏对这些视频转换如何发生的基本了解?
答案1
当您尝试更改视频的任何方面时,FFMPEG 会重新编码您的视频,无需指定其他选项,它会选择一些默认行为。比特率会根据转换的默认输出选项而变化。
如果输出视频看起来不错,那么就不必担心。
如果输出视频质量较低,您可以指定应使用的输出质量。影响输出质量的一种方法是使用 -qscale 参数,范围在 1(最佳)和 31(最差)质量之间:
ffmpeg -i input.avi -r 60 -qscale 1 output.avi
这将产生恒定的高质量视频,但比特率可变。
这实际上可能会导致文件大小增加,您可以使用 -b:v 选项调节整体比特率,如下所示:
ffmpeg -i input.avi -r 60 -b:v 18Mi -bufsize 18Mi output.avi
这将创建一个文件,其中每秒的视频最多可达 18*2^20 位。您可能感兴趣的其他比特率包括:
- 18M——18*10^6比特每秒
- 18MB——18*8*10^6比特/秒
- 18MiB——每秒 18*8*2^20 比特