1

I have a 3000 by 3000 VR video encoded in H264. I scaled down the video by

ffmpeg -i input.mp4 -vf scale=2160:2160 output.mp4

To my surprise, the bit rate of output.mp4 did not decrease (in fact, it increased a little bit).

Is not a scaled down video supposed to have lower bit rate than the original video? What is the mechanism of -vf scale=***?

1

The scale filter has no effect on the encoder's bitrate control.

Yes, a scaled down video should have a lower bitrate if it is encoded with the same encoder settings as the source. In your command, since no encoder parameters are explicitly set, ffmpeg defaults to encoder x264 with rate-control mode CRF with value 23. Apparently, this results in the same bitrate as the full-sized source. Set a higher value to reduce size.

ffmpeg -i input.mp4 -vf scale=2160:2160 -crf 26 output.mp4
  • This makes no sense. Why would you have to change crf? That's "constant quality", right? This means that we should expect a lower bitrate on a down scale. – DigiVision Media Jun 6 '17 at 5:53
  • @DigiVisionMedia crf is "constant ratefactor". also, this all is searchable in the web, don't be lazy please. – Sarge Borsch Jun 6 '17 at 5:56
  • Wouldn't this make a lesser quality encode? – DigiVision Media Jun 6 '17 at 5:58
1

hmm, need 50 rep to comment... so posting instead.

increase crf to reduce bit rate, also reduces quality
decrease crf to increase bit rate, improves quality
+/- 6 crf is about half / double the bitrate (at least for x265).

good intro:
http://slhck.info/video/2017/02/24/crf-guide.html

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.