Posted in video | April 9th, 2010 | Comments: 0

So you finally finished editing that Christmas slideshow you’ve been promising mom and she really, really wants to see it. If you’re like most people, you probably just hit the export button and sent her whatever file your editing program spits out by default.

Usually this works just fine. But this time mom forwarded the video to Aunt Lorraine and all hell broke loose! Aunt Lorraine couldn’t open the video! And it’s all your fault!  And to think that she carried you for nine and a half months…

Well, it sounds like it’s time for a quick lesson in video encoding.

The most popular video file formats are Quicktime (.mov) Windows Media (.wmv) and Flash (.flv). You might compare these file formats to things you can buy music on, like CD’s, Records, and Cassette Tapes. Just as CD’s, Records, and Cassettes can all contain audio, mov’s, wmv’s, and flv’s can all contain audio and video. That’s why these file formats are called containers. And just like you need a Record player to play a Record, you need Quicktime Player to play Quicktimes.

Of course there are exceptions to this rule: just as CD’s can be played on things other than a CD player (like in a DVD player for instance), some programs other than Quicktime Player can play Quicktime files. But if Aunt Lorraine couldn’t play the .mov file you sent her, the first thing you should ask her is “Do you have Quicktime Player installed on your computer?”

If she says no, then you can tell her where to go. To download it, that is. I mean she’s almost 60, so you should show her a little respect. But if she says yes, she watches .mov files all the time (you nincompoop!), then well, it might have been your fault after all. That’s because choosing a kind of file (i.e. a container) Aunt Lorraine can play isn’t enough, you also have to choose content (that is to say, video and audio codecs) that her computer will be able to understand. And if you don’t understand, then let me go back to our things you can buy music on analogy.

Here’s another scenario involving you and me. Say you wanted to hear the story of Homer’s Odyssey as read by Roberto Benigni (ok, so you have obscure tastes). And since you drive a 1995 Honda Odyssey, you’d be eternally grateful if I could send it to you on Cassette. So I oblige. But the next day I get a call from you asking why I sent you a tape full of gibberish? It turns out you don’t understand Italian. (”It’s all Greek to me” you say.) No, what you wanted was a Cassette Tape of Roberto Benigni reading Homer’s Odyssey in English.

Just as you couldn’t decode the greek language used to describe Homer’s Odyssey, Aunt Lorraine’s computer couldn’t decode the particular video language (i.e. codec) used to describe your Christmas video. And just like spoken languages, there are probably hundreds of different video and audio codecs. You would need several hundred lessons in Italian to understand the tape I sent you. Luckily Aunt Lorraine’s computer just needs to install the codec used in your video file. It’s instant understanding. Her computer knows Kung-Fu.

Happily for us, even though there are tons of codecs out there, most programs stick to 3 or 4. It’s like how most people speak either English, Spanish, Hindi, or Chinese. Currently the most popular codec for video is H.264, while mp3 and aac are quite prevalent for audio, mostly because they all can give you very good quality video and audio, at a relatively small file size.

So just remember: When someone asks you to send them a video, you’ll want to know in what format and in what language. You can guess right 90% of the time, but 10% of the time they’ll get nothing but gibberish.

Posted by Eric Boudreau

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)
Ping This!
Posted in new technology, video, web | February 3rd, 2010 | Comments: 2

HTML5 is a great new buzz word in the tech world. Let’s take a look at what everyone is talking about.

Most recently in the news vimeo and YouTube have both released a HTML5 alternative for their videos.

http://www.youtube.com/html5 (beta)
“This is an opt-in experiment for HTML5 support on YouTube. If you are using a supported browser, you can choose to use the HTML5 player instead of the Flash player for most videos.”

http://vimeo.com/blog:268
“What’s the HTML5 player, you ask? Simply put, it’s an alternative to our current Flash player that looks and works almost exactly the same way.”

Both sites use the h.264 codec to transcode their videos as it is the most flexible to play across devices (iPhone/Android/Flash/Zune/PSP/mp4 players).

This is where we hit a little snag. HTML5 was supposed to simplify video and make it easier for everyone with open standards. There is a link vimeo posted on their site regarding this issue with video standards http://diveintohtml5.org/video.html#what-works and an article on web monkey where video and audio standards have been removed from HTML5. http://www.webmonkey.com/blog/W3C_Drops_Audio_and_Video_Codec_Requirements_From_HTML_5

Right now the only browsers that support h.264 with HTML5 are Safari and Chrome, IE if you install a Chrome Frame into the browser and according to W3C Chrome accounts for 10.8%, Safari 3.7% of all page views. Firefox supports Theora OGG video format and not h.264. http://www.w3schools.com/browsers/browsers_stats.asp All browsers support Flash which streams h.264 and 99% of all people have it installed. http://www.adobe.com/products/player_census/flashplayer/version_penetration.html

So as things sit right now HTML5 is supported by 15%-25% of all users and Flash is supported by 99% when it comes to video and the “web video standard” set by YouTube and vimeo.

The main controversy right now is the rival between Apple and Adobe, mainly Apple refusing to install Flash on their devices. Apple is claiming that HTML5 will replace flash, and Adobe claiming that it will always be needed similar to HTML4.

Adobe
Enabling innovation isn’t magic. – By Adrian Ludwig

Apple
Steve Jobs: ‘No one will be using Flash’ – I couldn’t find an official post by Apple (Steve Jobs) so I found one with their point of view. If you have one let me know.

What most people think it boils down to … revenue.
Adobe: There’s No Flash on iPad Because Apple Is Protecting Content Revenue

A few things to keep in mind:

Flash accounts for 75% of all video.

Flash accounts for 70% of all games.

Flash does much more than just games and videos (navigators, animations, file uploads, graphs, maps, and full web sites with interaction to name a few things).

Flash player 10.1 will soon be released working on Palm Pre, Android, Windows Mobile, Toshiba, Nokia, Tablets, Netbooks … almost everything but Apple. http://www.adobe.com/devnet/flashplayer/articles/mobile_demos_fp10.1.html

HTML5 video can not be embedded or go full screen and additions to the video (hotspots/overlays/ads/interaction) will have to be done in JavaScript rather than Flash.

HTML5 is still in development. The team developing HTML5 doesn’t even expect it to receive the first level of recommendation from the World Wide Web Consortium (the group that governs international Web standards,) until 2012. According to them, the third and final maturity recommendation likely won’t occur until 2022.

HTML5 will only mature with a collaboration of Microsoft, Google, Apple and Firefox.

Posted by Beau Durrant

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)
Ping This!
Posted in new technology, video, web | February 3rd, 2010 | Comments: 1

This is a brief description of Streaming vs Progressive Download with Flash and how it relates to web video.

Progressive Download

This is a common way people link to videos from their own websites. They encode a video, upload it to their website then embed the video.

When someone views this video it is downloaded to their computer. The web server does not care about the quality or size of the video, it will allow them to download it like any other image or document as fast as they can. Playback will begin as soon as enough video has been downloaded, but you are not able to fast-forward to the end of the video without it being downloaded.

To get a little more technical this transfer happens over HTTP (Hypertext Transport Protocol) which operates on TCP (Transport Control Protocol). These protocols make every little bit of video that is downloaded to your computer will be a little larger than it needs to be. This is to ensure that every piece of data is guaranteed to be delivered and if it isn’t the data is sent again, using a little more bandwidth. If someones internet is interment you can end up using more bandwidth for resending information than for the video itself.

TCP (progressive download) is not designed for efficient real time delivery or careful bandwidth control. But if you need a file accurate and reliable then it will deliver every time.

When the h.264 codec was released this introduced another flaw in progressive downloads. h.264 has the information to play the video at the end of the file, so the whole file must be downloaded before the video can start to play. (This was fixed with Flash player 10)

Key Points:

  • cannot be used for live events
  • is not efficient
  • is not secure
  • can not adjust for a users connection speed
  • can not jump to video without it being downloaded
  • video is downloaded

Streaming (Flash Media Server)

Streaming is more efficient and less common because you need FMS software running on a web server to use it. It works similar to embedding a video on a website using progressive download. The videos is encoded, uploaded to a FMS then embedded on a website.

When someone views the video a well made player will detect the viewers connection speed and buffer a little video, not downloading the whole file. A viewer will be able to fast-forward to any place in the file without having to download it.

To get more technical the videos are transferred over RTMP (Real Time Messaging Protocol) or RTMPS which has little overhead compared to HTTP. Every little piece of video that is sent to your computer will be just enough to view the video. If someones connection is interment then the video will pause, re-buffer and start when the connection is better. This is a more efficient use of bandwidth.

Also if RTMP (port 1935) fails it will fall back to RTMPT which will send the packets over HTTP, but will not need to resend information as with progressive download.

Using FMS and streaming videos you can also apply security by IP viewing the video or web page the video is streaming from.

Key Points:

  • can be used for live events
  • used for advanced interactive content
  • is efficient
  • adjusts for connection speeds
  • video is not downloaded
  • better analytics (how many seconds viewed)

Posted by Beau Durrant

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)
Ping This!