Did YouTube Cut the Gordian Knot of Video Codecs?

Playing video on a computer has always been a crapshoot. You must have the correct video codec installed, the same video codec that the clip was encoded with. If you don't, the video won't play. You'll have to find, download, and install the proper codec first. It's even more of a problem on the web, where users can run any combination of operating system and browser. Just take a look at all the choices in Yahoo's web-based Media Helper:


This is a companion discussion topic for the original blog entry at: http://www.codinghorror.com/blog/2006/12/did-youtube-cut-the-gordian-knot-of-video-codecs.html

offer a link beside each video where, if the user wished and it was available, a better quality clip could be accessed.

YouTube (and most other media companies) doesn’t want people to download videos. They enforce streaming-only by bringing the hammer down on users who publish ways to save the videos in files. Like so:

http://www.techcrunch.com/2006/11/15/huh-youtube-sends-techcrunch-a-cease-desist/

Any particular reason you chose to make Windows Media look bad on purpose?

That’s how it looks via the Yahoo Transformers HD page. ( http://movies.yahoo.com/feature/transformers_hd.html ) I’m not sure why they force it into a 4:3 window when it’s natively widescreen.

Lack of quality can be an intentional feature, as other commenters have pointed out.

Well hell, i just go about blindly, completely ignoring the codec hell and installing crap at random to make things work. Quietly hoping for better days (as i’m sure 95% of people are doing). Well maybe not quite that eccentric, but anyway.

honestly no power on earth could get me introduced into the vastness that is “codec-usability” -science.

I recently tried a software that would recodnize (and possibly even install) what codecs i lack. The software was called G-Spot, and no offense to the people who made, but i couldn’t understand anything about the UI. Everything related to codecs is simply made too difficult. And i’m frustrated to the point where i just want to kill myself.

After getting that out of my system i’d like to give a big hand to the people who made the Flash video. Great job!

Also, DefilerPak kicks your butt, codec-wise… Usually…

funny… using a great professional codec like Sorenson you get exceptional quality… so don’t complain that it can’t be done… of course it can … here’s to Flash and all ofus Artist/coders who can now make a respectable living !

Jeff:

Bad example. You should have chosen something else. As a nerd, I an afraid that I must demand my Transformers trailer in 1080p on my widescreen monitor. You should have used that racist Kramer video as your example instead. Who cares about quality there?

P.S. Did you notice that the giant robot coming out of the pool is Shockwave!? Awesome! (You wouldn’t have if you saw the YouTube version.) I’m afraid I’ll have to call in to work hung-over on 7/5/07.

-D

Not to mention, Flash in general leaves us Linux folk behind in some ways… it has gotten better lately, and adobe/macromedia promises to have flash9 native at some point. But still, we’ll always be a second or third thought when it comes to making sure we can use it. People on 64 bit machines still don’t have a working solution, iirc, and that is really just poor.

I’ve given in to installing flash to see things like Youtube and google video, but I went for months before without even installing it, and was pretty comfortable without it. Google Video is even better because it lets me download them in their original format, something i’d love youtube to be able to do…

Dave: Don’t forget that two of the other formats he mentioned don’t have Linux support at all (WMV and Quicktime), outside of using unlicensed codecs. I’m glad that Adobe is providing support for Linux at all, being as it is such a niche player on the desktop.

Correct me if I’m wrong, but I think you can select the quality in FLV videos. Maybe Youtube just selects a bad quality to reduce bandwidth consumption ?

Argh – I’m torn because I love seeing all the videos on YouTube that are watchable nowhere else, but I HATE the video quality! I’m really seriously anal about good video quality and YouTube clips are just so abysmally awful! I wish there was a way to offer a link beside each video where, if the user wished and it was available, a better quality clip could be accessed.

It is possible to encode Flash video with a higer bitrate and get pretty decent quality. Maybe not 480p, but still much better than your sample. Especially with the new On2 video codec, which is now included with Flash 8. Check out some samples:

a href="http://www.on2.com/video_samples/flix-video-samples/"http://www.on2.com/video_samples/flix-video-samples//a

(No, I don’t work for them or anything.)

The problem is that Youtube encodes video at a very low bitrate so that it will be easily viewable by the masses, even for people on lower bandwidth connections. It would be nice if Youtube provided a higher bitrate option (like 800k), but that would just cost more in terms of server load and storage space, so it’s probably not worth it to them.

YouTube still uses the Flash 7 Sorenson codec. HQ Flash 8 video is sweet. They need to upgrade or get left behind.

Click this one to go full screen
http://staging.mutoid.nl/fullscreen/index_cars.html
Cars Trailer - Mutoid.nl

http://www.flashvideofactory.com/test/demofullscreen123.html
demo fullscreen

http://www.flashvideofactory.com/test/demofullscreen345.html
demo fullscreen

http://www.flashvideofactory.com/test/demofullscreen321.html
demo fullscreen

What we really need is some sort of standard… …oh.

Actually, what would really interest me is why the ‘standards’ have fragmented? I mean, Quicktime and WMV are proprietry (and therefore remain separated for commercial reasons), but is MPEG not like JPEG - a community standard?

Shouldn’t there already be a defined input (your video) and output(your file/stream) and back again. Would this mean codecs are entirely about getting between those points as fast as possible? And if someone writes a codec that doesn’t create already defined output, then it doesn’t match the standard. Did I miss something?

Hmm… are we prime for the return of .GIF?! No, I kid. I hope that format stays as dead as it seems to be. At least professionally. I honestly wish I could convince everyone to stop using Flash all the time, too. ESPECIALLY for “intros” to their site. Every time I hit a site and I run smack into the intro before the content, I want to stab a puppy.

YouTube encodes at the lowest tolerable bitrate for a reason: $$. If I can provide an 800k stream to a user, that means I can dish out a 200k stream (overhead not included) to four users for the same price.

If 95% or more of my users wouldn’t complain, why should YouTube improve the quality? All it does it blow out the bottom line.

Personally, I only use YouTube for it’s intended purpose: quick, get-the-point-across videos.

Any particular reason you chose to make Windows Media look bad on purpose?

On Linux, there are several scripts floating around that use wget and ffmpeg to extract the MP3s out of YouTube videos, but unfortunately you only get mono sound. Anyone have a command-line way on Linux to convert the mono sound into simulated stereo using delay, reverb, and different EQ on left and right channels?

I recently had problems with home videos freezing during playback in Windows Media Player that I couldn’t fix. I worked around the problem by using a different player - Classic Media Player from http://www.free-codecs.com just plain worked first try. And it doesn’t have the bloat and crap that you get with WMP.

Installing a codec often breaks compatibility with a player.
Codecs can and will crash on just one single frame in a video stream.
Installing a codec replaces similar codecs from different vendors.
Codecs can have dependencies on other codecs.
One word: Subtitles.

Codec hell is real.

It’s almost like codecs are DLL’s or something! :wink:
…and you lose(jeff) h.264 is MPEG-4. :wink:

Seems like you are using the concepts of “Flash Video” and “YouTube’s Implementation of Flash video” interchangeably. They are not the same.

YouTube implements lower fidelity flash video for many reasons – some of which are the simplicity-quick-start-fast-download aspects which have made their “simplicity” model so successful – while other codec/implementations worrying about other ‘more important’ factors have not seen similar success.

Here is an example of some of the more recent HD type video stuff flash can be used for (where appropriate :wink:

http://www.progettosinergia.com/flashvideo/flashvideoblog.htm#111006

Would like to see you update this post to clarify that flash video can do much more than YouTube does with it – your description really does muddle the developer conversation since you are such a ‘goto’ resource.