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 current events, new technology, the future, video, web | March 26th, 2010 | Comments: 3

If anyone has seen the previews for Flash 10.1 it is very exciting. One medium for playing videos, games, animations, ads, navigators, … working across all platforms, except Apple.

Using Flash can bring down the cost of developing mobile apps. There are currently 5 major app stores for mobile devices; Palm, Microsoft, Google, Apple and Blackberry. As things are right now you would have to make an app in each market (using different languages and technology) to reach the entire mobile audience, but Flash 10.1 will change this.

Flash 10.1 is set to run on everything; netbooks, tablets, computers and smartphones. So every site that works on your computer will also work on any internet connected device if it supports Flash 10.1. Flash 10.1 is also GPU (hardware) accelerated, so animations and video will run extremely fast even on lower priced hardware. This also brings me to question if Adobe CS5 will also have 3d rendering with openGL or DirectX. Flash 10.1: Full Flash for Everyone But iPhone, Actually Playable HD Vids

The exception will be any of Apple’s mobile devices which are unfortunately becoming the IE6 of mobile devices. They hold just enough market share to have to support them, but don’t play nice with everything else out there. Some companies are falling back to HTML5 when encountering a devices from Apple, others are turning to apps. This is a major inconvenience to have to spend extra time and money to develop something specifically for 24% of the smartphone market.

HTML5 is nice for video, but if you support HTML5 with h.264 video then you choose to not support anyone using Firefox (50% of internet users). Also features that can be done on Flash; multi-bitrate streaming, full screen, embeddable video, video ads, overlays, hotspots and interactions are not available. So HTML5 can not be used alone, but only in combination with another technology. If you want to see more about HTML5 you can view my other post for more information.

Fortunately for everyone Adobe has an answer that will save time and money. If you created a mobile application in Flash 10.1 it will not run on Apple, or will it? With the new Adobe CS5 Suite you can now export Flash to an iPhone app. So you will be able to build an app to run on everything with one technology.

There is an example below of Flash application that was built by the New York Times for a mobile site. It can also be exported as an iPhone app, submitted to the store where it will undergo a 2-6 week approval process, hopefully be accepted then can be used as a fallback for the mobile site. The development costs will be lower and the user experience will be consistent across all platforms.

Here are a couple more examples of Flash 10.1:

Flash Player 10.1 prerelease software demos and interviews

Packager for iPhone Examples

I guess only time will tell if Apple will adopt Flash or if it will affect Adobe or Apple’s market shares.

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: 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!