1

So I have some videos that are Full HD, h264 but they have over 30M bitrate at 30 FPS, they are SDR and their quality is not very impressive so it seems excessive and unnatural for such unimpressive quality - I have seen much better looking h.264 content with 60 fps with even half of this bitrate. So what I did try to do is use -crf 17 (yes, without encoding), to see how much this will reduce them and it usually does do a good job for example it made the file to about 12M, I also tried -fs with even a higher number of size than the original, and it brought the file down to 5M bitrate, I don't know what actually happens behind the scenes with this, but I think the video looks a bit worse, not much though compared to the 30M that it was.

So how, if even possible, do I correctly determine the bitrate of a video if it seems excessive?

2

So how, if even possible, do I correctly determine the bitrate of a video if it seems excessive?

There's not a "correct" way. That's why every encoder you come across presents bitrate as an option to the user. The visual complexity of every video is different, and visual tolerance levels of artifacting is subjective in every case. File size vs image quality will always be a tradeoff, and it takes an informed human being to decide where that tradeoff is most acceptable.

But to focus more on the "how" one best makes this decision, there's not much to say other than: trail and error.

You can bifurcate. That is, pick a high number, try it, pick a low number, try it, then pick a number between whichever direction was more suitable, rinse and repeat. It's still a subjective process. If you search the internet, it's not hard to find ballpark ranges to get you started, given the specifics of your output requirements (resolution, framerate, etc). When you do this, you should use a representative subset of your total output to test, so that you can iterate more quickly.

Also, be sure to consider your destination platform. You don't mention it in the question, but it will affect your decision. If you're delivering to bluray, for example, you have a hard limit on total file size, and you'll probably want to optimize quality for that specific target. On the other hand, if you're delivering to an online streaming service, you might want to go for maximum quality because YouTube, Vimeo and the like will automatically generate lower-quality versions to serve to people with slower connections. Conversely, you might value high-speed upload for quick turnaround times. Only you can decide.

  • Thank you for your answer. So just to be clear, when someone does a compression to a video, and you can never get back to the same quality before the compression, if someone per se increases the bitrate non-organically and then you want to reduce to the bitrate/size as the original file (which technically is not compressing), you again can't do that without losing quality? – A. Newb Mar 23 at 20:40
  • So, what I'm saying is: Let's call your high-quality source material (A), your test exports (Bx), and your final output (C), with x representing the bitrate you're evaluating. For simplicity, say x is a value between 0 and 1. You'd export A->B(.01), A->B(.99), A->B(.5), evaluate each, throw out the worst result, and pick a number between the other two, say A->(B.75). You repeat the process until you're satisfied, and call the result C. Notice you're always going from A to B. You don't go A->(B.75) then B(.75)->B(.88). You would go A->(B.75) A->(B.88). – Jason Conrad Mar 25 at 16:46
  • So as far as generational loss goes, you're always only moving one step away from your master. This process can get way more complicated when you're talking about very large source files (4K and up, uncompressed RAW, etc), intermediate codecs for editing, proxies, round tripping, color correction from masters, and the different situations where these all come into play. But the basic rule of thumb is: Always work with the highest quality media your hardware can handle without hiccups. Then deliver the highest tolerable compression you can by going straight from original to final. – Jason Conrad Mar 25 at 17:08
  • When you say, "when someone does a compression to a video, and you can never get back to the same quality before the compression," if you don't have the original video that the person used to perform that compression, then you've essentially lost your "A", and whatever they've given you is the new "A." So, you're right, you can never get back the same quality. Dialing up your bitrate above where it was when they gave you the file doesn't do anything besides (potentially) make the file bigger. – Jason Conrad Mar 25 at 17:24
  • But if you're saying you have a video that somebody already turned up past it's original bitrate, and you want to dial it back to the original value, yes you can do that and it should at least visually match and be the same file size as the original. The amount of entropy you'll encounter probably depends on the codec/situation. You could test by repeating the process over and over and check for image degradation. i.e. go A->B(1.5)->B(1)->B(1.5)->B(1)... over and over, like the telephone game, then compare A to B. – Jason Conrad Mar 25 at 18:04
1

Determining The best bit rate is more of an art form then a science. As soon as you go from a loss less to a lossy format, you’re accepting compromise. If the scene has a lot of natural blur, you may be able to get away with a surprisingly low bit rate before the effect is noticeable. Consumer playback systems may not be able to reproduce all the content contained in your high bit rate stream. It’s a balance of audience, playback expectations and how much you can get away with.

With video, you’ll need a higher bit rate whenever there’s rapid change that you want to preserve or intricate detail that doesn’t compress well. With audio, there’s a point where you can hear the artifacts, but different people pick up the playback errors at different loss rates for different types of music. Classical guitar may not tolerate much compression because it’s high attack plucking. Rock guitar may compress well because the accuracy of the notes isn’t something you can pick out easily and, as Billy Joel would say...it’s still rock and roll to me. Animation with sharp lines may require a higher bit rate than expected because pixelation is immediately obvious.

Anyhow...my solution is to start with the cleanest, highest resolution uncompressed source, then drop bit rate until I can tell there are defects, then try to be a touch more generous.

If you’re doing video, you may be able to do a comparison mask that makes the discrepancies more obvious. With audio, if I can visually compare waveforms, I’ll reduce bitrate in the less important passages, but boost it if there’s a silent passage or one with lots of complexity. Almost any compression on a silky voice like Nat King Cole’s is quickly audible.

I guess I’m saying that you need to do manual comparisons until you’re sick of watching/listening to the material.

And be careful with VBR. it’s not a cure-all, unless you have control over where bits are spent.

  • Very well stated, Jason. You bring up the point that some media can’t store uncompressed, like Blu-Ray and DVD, and VCD. Always try to create a compressed version from the original. If you compress an already compressed video or audio track, errors build up that simply can’t be un-done. – Wilfred Smith Mar 23 at 23:28
  • 1
    Audio compression is a good analogy, and one good use of video scopes is to evaluate compression as you're describing by "visually compar[ing] waveforms." In fact, one of the video tools people use is called a "waveform monitor." The difference between 8bit and 10bit video, or the difference between proresLT and proresHQ, can be difficult to see with the naked eye, for example. But video scopes such as waveform monitors and vectorscopes can show you exactly what you're losing. – Jason Conrad Mar 25 at 17:34
0

Compression is supposed to preserve recognizable information. If you can recognize the video to be of low quality (blocky, noisy), compression will work extra hard to preserve the actual blocks and noises (rather than the blockiness and noisiness) because they don't follow the usual content and motion compensation statistics and predictions.

So if you state "Some H.264 videos that I have" and the videos are of your own making, a first approach would be to get better lighting(!!!), better optics, better sensors. Creating 5Mbps videos from that kind of original material will yield better results than 15Mbps videos from noisy material. Once you aim your 30Mbps workflow source at actual content rather than noise, the choices it takes when further compressing material will be a lot saner and reflect much better what you expect to see in tradeoffs.

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.