Yesterday I spent a good chunk of my day trying to find the best settings, format and codec for the best quality Youtube videos. The good news is I think I found the right recipe, the bad news is Youtube’s quality still sucks.
Over my experiment I probably uploaded the same video twenty-five times or more, in a range of sizes, the largest being 400MB for a 13 second clip! Just to see if there was a point of overkill. So in order to let you know how the testing worked, let me explain the clip.
For testing I used a 13 second clip of my wife feeding a pigeon by hand. I did this because it’s very small compared to the 10 minute limit set by YouTube so it should be easy to upload multiple times to test quality. It also shows a range of motion from tilting to the flapping wings in decent outside lighting. The original format was a DV AVI file for the most quality out of my Sony DCR-HC52.
The first thing I did was upload the clip in it’s original uncompressed format (DV AVI) with a total size of a little less than 400MB. This being completely insane considering the max filesize for YouTube is 1GB and to upload at this size, the max length would be less than a minute. Either way I tried it, and the quality wasn’t so great to be honest. I think mostly because of the tools Google uses isn’t optimized to convert from DV to their MP4 and FLV.
I think did twenty or so conversions to FLV, Divx, Xvid, MPEG 2 & 4, WMV H.264 and many more on the advise of many forums and guides. I don’t want to bore you all with the details (I’m sure I’ve lost some people already) but the important thing to note is that Google states H264, MPEG-2 and MPEG-4 are preferred. Unfortunately they drop the ball by not giving the best settings (bitrate, resolution) to get the best quality videos.
So, what is the best way to encode your videos for youtube?
Use the H264 codec with a bitrate of 2000 (although you can play with this, but 2000 seems to be the sweet spot from what I can tell, more is better, but you probably wont notice). You can probably get away with less bitrate too, but I want the best bang per MB. Also set the resolution to the highest native resolution of the source. For example DV from MiniDV tapes has a max Resolution of 720×480, so I use this.
This was a lot of work for such a simple idea. The higher quality you give YouTube the better it’ll look. However the goal I was looking for was where the diminishing returns sets in, and I feel I’ve have found it. However I’m still unhappy with the quality of the video, and it seems comparing my videos with others that it’s now the fault of YouTube not the source video quality. This is now setting me on another quest to find a better place to host my web videos. Which of course is something I’ll touch on after I have an answer.
P.S. I really wish I had more information to give you guys, especially considering how many hours I spent on this topic. I hope it’s useful to someone, and it’s definitely a good reminder for me, so I don’t attempt such a thing again.