Mohammad
Mohammad

Reputation: 145

ffmpeg enforces bitrate value other than what specified

I have a folder containing 1701 image frames named "frame0000.jpg", "frame0001.jpg",..., "frame1700.jpg". When I try to convert them to a video using this command:

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

It produces a video with a bitrate of 717kbs and 25 frames/second (so the FPS is also different than what I specified!); hence, it has a poor quality.

I read a lot about this issue such as: FFMPEG ignores bitrate

But couldn't find the solution to my case.

Any help is appreciated.

Upvotes: 0

Views: 417

Answers (1)

llogan
llogan

Reputation: 133743

Fixed command:

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

Option placement is important

Syntax is:

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

Use valid options

  • -r:1751/61 is incorrect. Use -framerate 1751/61. The image demuxer prefers -framerate, not -r.
  • -b:2400k is incorrect. Use -b:v 2400k

Refer to the log

It should have provided errors to help you determine the problem:

  • 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.

Upvotes: 1

Related Questions