View Full Version : Predetermine bitrate at CRF?
bob88
21st February 2017, 11:52
Hello,
Is there a program that can maybe analyze every 1000th frame and show what bitrate would be used at a certain CRF setting? I just get a lot of varying file sizes depending on the source and am looking for an easy way to determine the result before compressing. Making five 2 second samples and testing them one by one is annoying.
Thank you.
Asmodian
21st February 2017, 18:19
There have been many attempts in the past but they are all inaccurate, you end up needing to encode most of the source because scene to scene variability is so high. Using one frame in 1000 doesn't work at all.
If you need predictable files sizes two pass is the way to go, the first pass is as fast as any test that is reasonably accurate and you end up with very predictable file sizes.
Groucho2004
21st February 2017, 19:00
There have been many attempts in the past but they are all inaccurate, you end up needing to encode most of the source because scene to scene variability is so high.Not my experience. I tested this quite a bit with encoding 1% up to 10% of the source and the bitrate predictions were pretty accurate at 2% or higher.
Using one frame in 1000 doesn't work at all.I can agree with that.
bob88
21st February 2017, 20:04
Well it seemed like a good idea to me... Maybe it could even save the 1000th frames as a jpg, one copy of the original and one at different CRFs so you can compare them. It's not just about file size, its also about finding out if the quality is good enough for your needs and easily finding the perfect settings for your specific situation. Frames are easier to compare than 2 sec samples. Anyway... anybody know a program with GUI for win that can do something like that?
Motenai Yoda
21st February 2017, 21:11
you can do a compression test by avisynth or IIRC ffmpeg to encode only 40/50 frames every interval of ie 800/1000 frames to encode only 5% of the whole video.
Sharc
21st February 2017, 21:11
bob88, just a note:
It is pointless to judge the quality of a movie encode based on the inspection of few individual frames. The conclusion can be totally wrong, or is at least incomplete. It's like judging the beauty of a waterfall by inspecting a few droplets. You should always watch an encoded sequence of few seconds duration at least to get a halfway valid impression about the visual quality.
benwaggoner
22nd February 2017, 00:00
Since the whole point of CRF is to use as few bits as required to deliver the target video quality, this seems like sort of an impossible-by-definition question. Maybe you can work back to the problem you're trying to solve?
WhatZit
23rd February 2017, 00:26
Making five 2 second samples and testing them one by one is annoying.
All I do is find one single scene that most represents the typical content of the video (usually by scrubbing it through a preview panel), and make a single 30 second CRF sample from that point.
This quick and dirty "average" guesstimate allows me to identify if things like grain or light characteristics are going to blow out bitrate across the whole film, irrespective of motion.
I also consider the resultant bitrate of that typical scene as the minimum I could expect from the whole CRF encode, and can adjust accordingly.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.