ffmpeg 强制使用指定值以外的比特率值

ffmpeg enforces bitrate value other than what specified

我有一个包含 1701 个图像帧的文件夹,名称为“frame0000.jpg”、“frame0001.jpg”、...、“frame1700.jpg”。当我尝试使用此命令将它们转换为视频时:

ffmpeg -r:1751/61 -b:2400k -i frame%3d.jpg video1.avi

它生成了一个比特率为 717kbs 和 25 frames/second 的视频(因此 FPS 也与我指定的不同!);因此,它的质量很差。

我读了很多关于这个问题的资料,例如: FFMPEG ignores bitrate

但是找不到解决我的问题的方法。

感谢任何帮助。

固定命令:

ffmpeg -framerate 1751/61 -i frame%3d.jpg -b:v 2400k video1.avi

选项放置很重要

Syntax 是:

  ffmpeg [input options] -i input [output options] output

使用有效选项

  • -r:1751/61 不正确。使用 -framerate 1751/61image demuxer 更喜欢 -framerate,而不是 -r
  • -b:2400k 不正确。使用 -b:v 2400k

参考日志

应该已经提供了错误信息来帮助您判断问题所在:

  • Invalid stream specifier: 1751/61
  • Option b (video bitrate (please use -b:v)) cannot be applied to input -- you are trying to apply an input option to an output file or vice versa. Move this option before the file it belongs to.