I’m putting the finishing touches on a simple set of ‘talking head’ videos destined for a corporate intranet to introduce a new section of content. Nothing particularly earth shaking or ground breaking. It certainly won’t win any awards, but it’s the kind of bread and butter work that pays bills.
However, there is a wrinkle. The client’s intranet is actually hosted and run by a separate company – a service provider. This service provider has set various limits to prevent silly things from happening, and these limits are hard-wired. If you have a special requirement, ‘the computer says no’.
One particular limit, which I will rant and rave about being particularly idiotic, pathetic and narrow minded, is that all video clips that users can upload to the system are limited to (get this) 12 Megabytes. That’s it. Any video, regardless of duration, cannot be any larger than 12 Megabytes. Period.
Another mark of bad programming in this system is that videos should measure a certain dimension, no bigger, no smaller. That may be fair if correctly implemented, but no. The fixed size is a stupid hobbled size and worse still, is not exactly 4:3 and not exactly 16:9, and not exactly anything really. So everything looks crap, though some look crapper than others.
Finally, the real evidence that the developers don’t actually understand video and don’t care about it either, the dimensions are not divisible by 8, therefore chucking the whole Macroblock thing in the khazi – digital video compression tends to divide things up in to blocks of 8 pixels and work out within those blocks what to do about dividing it up further. If your video dimensions are not divisible by 8, you get more issues with quality, performance and the like. It’s like designing car parks using the width of an Austin Healy Sprite, not caring about the fact that people who park can’t actually open their doors without bumping into other cars.
But the nurse says I must rest now. Rant over.
So, I’ve got to make all my talking head videos 12 Megabytes or less. How do you ensure this?
Well, method 1 is to monkey around with various settings in your compression software until you find something that sort of works.
Method 2 requires a pocket calculator, but saves a lot of time. You need to work out the ‘bitrate’ of your final video, how many bits are going to be used per second of video – if 500k bits per second are used, and the video is 10 seconds long, then 500k times 10 seconds is 5,000k or 5 Mbits.
Aha! But these are bits, the units of the internot. Not BYTES, and there are 8 bits in a Byte – believe me, I’ve counted them. We’ll leave aside another nerdy thing that there’s actually 1024 bits in a Kilobit, not 1000 (ditto KiloBytes to MegaBytes) – enough already.
So basically, 5 Megabits are divided by 8 to get the actual MegaBytes that the file will occupy on the hard disk: 0.625 in this case, or 625 Kilobytes.
So lets say I have a 6 minute video, which has to be shoehorned into 12 Mbytes. What bitrate do I need to set in Compressor/Episode/MPEGstreamclip/Whatever?
6 minutes = 360 seconds. Our answer, in the language of spreadsheets, is
((Target_size_in_Bytes x 8) x 1024) divided by Duration of video in seconds
So
=((12*8)*1024)/360
which equals 266 kilobits per second, which is not a lot, because that has to be divvied up between the video AND the audio, so give the audio at least 32 kilobits of that, and you’re down to 230 for the video.
But if you have a 60 second commercial,
=((12*8)*1024)/60
which is 1.6 Megabits, which is far studlier – 640×360, 128k soundtrack, room to spare!
So the 12 megabit limit is fine for commercials – but nothing of substance. The quality drops off a cliff after 2 minutes final duration.
But at least we have an equation which means you can measure twice and compress once, and not face another grinding of pips for 3 hours trying to get your magnum opus below 12.78 MBytes.