Is h.264 really that bad?

Random thought just popped into my head. As far as technical issues are concerned, I'm sort of a Jack-of-all-trades, but master of none. So, thought I'd propose this question for someone more experienced in file formats.

This question is specifically for Canon DSLR footage, doesn't so much apply to any other recording method, I don't think.

I read once (on this forum) that exporting to h.264 is seriously down-grading your footage. When I'm exporting DSLR footage from CS5, I have a million options, but in most situations it tends to boil down to either keeping it in it's original format, or downgrading it to h.264. I choose h.264 when I want to upload it to vimeo, or burn a quick DVD, because h.264 results in a MUCH smaller file-size.

But, wait a minute, isn't DSLR footage natively h.264 in the first place? So, am I actually down-grading, or am I just re-naming? And if DSLR footage is h.264 wrapped in .mov format, why does that .mov format result in such a greater file-size?

So, I guess the quick question is what I stated in the title of this thread -- if you're exporting DSLR footage, is h.264 really that bad of a format?
 
h.264 is a fine encoding scheme, like mp3 for video. What sucks is the Adobe CS5 implementation of the h.264 encoder is weak, its blocky and not very nice for motion.

There is an IMPROVED h.264 encoder out there, that uses and open source implementation of the h.264 protocol, its called x.264. Its still h.264 encoded, but the x.264 encoder is just plain better. This is what is used in the handbrake software Im always going on about.
 
It's my understanding...

1. The Canons shoot H264 (8 bit) natively.

2. You'll do better with color correction if you transcode to a 10 bit codec like Cineform, and then output the final version to H264 (8bit) again.

3. I use the X264 mentioned above, because it seems to not shift the gamma and keeps the image pretty much what I see on the screen.

4. The bitrate and method of compression are important to this file size question. The cameras shoot something like 17-24Mbps. If you're outputting to something like 2Mbps you'll notice some image loss, but it will be a lot smaller and play better on the interwebs.
 
Using compression is more "art" then science in my opinion.

The "handbrake" tool method I use is to encode out of CS5 into lossless mov file, then use the handbrake program to "encode" an h264 compressed file. This is far from optimal, I love the CS5 background media encoder, Id like to just export a h264 file from there, but it never looks good enough and is normally TWICE the size of the file that comes out of handbrake.

For me, the best "quality\performance" playback is the cineform avi codec, but thats just me.
 
The Blu-ray codecs are:

MPEG-2 for DVD/ HDTV playback (.m2ts - familiar to HDV folks)
MPEG-4 AVC (H.264)
SMPTE VC-1 - which is a WMV standard
And some will play AVCHD

My opinion is that if it's good enough for Blu-ray, it should be fine for me. Archiving your movies is a different story.
 
The codec itself is fine for what it is. It's the implementation and use that causes problems.

Recording to H264 means you are highly compressing the images as it is recorded. Then when you edit with it, when you change anything (IE color correction, titles, transition, etc.) you add MORE compression to an already compressed image, then when you export it to H264, you are adding a 3rd layer of compression.

So the appeal of the newer cameras like the Panasonic AF100 is that it uses a high bit rate AVCHD codec to record the images, then you use a high bit rate, low compression codec to edit it, then when you export to H264for the web, that's the first time you're adding high compression and so it maintains quality and sharpness of image the whole route until the end.

So in the CINEFORM workflow, you shoot H264, but edit in a low compression/high bit rate of the NEOSCENE codec, then when you're finished, you export back to H264, thus maintaining 1 more level of high quality - low compression in the work flow.

So it isn't the inherent codec itself, but how you use it that makes it either good or bad.
 
Yeah, H.264 was designed to be a delivery codec. Something to used to compress footage for uploading to the net (or burning on a blu ray). It's basically being used for other than it's designed purpose. Canon using it makes sense. They designed those cameras initially with the thought that uncle bob would shoot some footage of thanksgiving and upload it unedited to youtube. Used that way, H.264 is the perfect codec to capture the footage. Uncle Bob doesn't have to do anything to it. he dumps it from the camera and uploads it straight to youtube.
 
As others have mentioned, h.264 can be done a lot of different ways, and that can have a big impact on the quality. The Canon cameras don't use a particularly efficient encoder, so they make up for it by using a high data rate - about 40mbps. When you export a file from your editor and the compressor can take it's time to get things right you can achieve comparable quality at much lower data rates. I've seen a lot of my DSLR projects projected on a Christie 2k projector from 720p h.264 files encoded at about 12mbps - and they all looked pretty amazing. In any case though, it's a lossy codec designed to provide high quality at relatively low bit rates, and when data rate is not a factor there are better choices.

My workflow is to transcode immediately to ProRes using MPEG Streamclip, then do all of my post in that. It holds up really well to multiple generations, and it's not uncommon for parts of my videos to go through 3-4 generations during the post process - h.264 would look pretty bad after that many generations. I then export a full resolution master of the finished project in ProRes as well, then I compress from that to h.264 for online delivery, using multi-pass encoding and as high a bit rate as I can while still ending up with a total file size that works to upload. Acceptable bit-rates vary quite a bit - one of the biggest factors is noise, if your footage is noisy it will require noticeably higher bit rates to keep it looking good in h.264. I wouldn't be surprised if running a light noise reduction filter on your master resulted in better h.264 encodes in the end, but I haven't tried it myself yet.
 
Back
Top