LearningAPI has moved to a new blog!

The learningapi blog has moved to a new URL. These posts will remain here, but all new content has moved to learningAPI.com: Digital Media, Streaming Video & Educational Technology. You will be redirected in 5 seconds...

January 16, 2009

Streaming Video Playback Speed Controls - Two Innovative Methods

One of the coolest playback features for online video, especially academic video, is a player with the ability to speed up (or slow down) the playback speed of a streaming video.  Way back in the early 2000's there was a tool called Enounce that acted as a plugin to RealPlayer or Windows Media Player and would add a control slider to the player.  Everything from half-speed to 5x playback, with no pitch change on the audio.  It was very effective for watching lectures or news content - for much material, you can really absorb it much faster than it's spoken.  Turns out that Enounce is still available, and works pretty well, and they announced a version called MySpeed which supports embedded Flash video.   

End-users can buy and install Enounce and use it on their systems.  It's a native Windows-only application and must be installed individually on each system.

OK, that's great, but I want this as a feature of my website - I want all my Flash videos to appear with a speed control for all users.  To date, I'd been unable to find any way to do this - no one I've spoken with seems to know how to write code for Flash Player that will permit a speed control.  I'm told it's currently not possible.  

Then I came upon Bloggingheads.tv.  Bloggingheads.tv includes a Flash-based player (derived from the JW Media Player 3.2)  that has a "1.4x" button that bumps up the playback speed -- perfectly intelligible, but much quicker playback for taking in a long talk in a jiffy.  They did the impossible!

I had to know how they did it, so I did some poking around. Turns out they didn't do the impossible, they did an end-run around it.  The playlist that their flash player reads for each video program references two media files.  Here's the relevant code snippet from the XSPF-format playlist:

<meta rel="alternate">

So, they created an alternate encoding of each video, one with the 1.4x timeline baked right in.  The player needed some modification to play this, but only so that the time, duration, and the location bar all showed an appropriately scaled value as this video played. After all, a 30 minute video encoded to play at 1.4x is actually only a 21 minute file, but the timeline still needs to show it like it's the 30 minute length of the original content.

When you switch from one speed to another while playing, the stream rebuffers and seeks to the same spot in the video, so there's just a momentary pause in playback switching from one stream to another.

It's a great workaround - although for my purposes (user-generated content, thousands of contributors) I'd still prefer a player-based way to do it so it can apply equally to video from all sources without requiring added backed processing.  Still...this is the only solution I've ever seen to this issue a) for Flash video, and b) not requiring an additional plugin.

September 11, 2008

Tools for testing streaming media

So here's a neat trick for testing how streaming media and web applications perform for users with limited bandwidth connections.  OK...I'm getting some rolling eyes at the premise. "Does anyone have limited bandwidth connections anymore?"  Turns out that, "Yup...they do."  

Two cases in point:  
  • Last fall, the Harvard Alumni Association offered an all-online version of the popular undergraduate course, "Justice" to Harvard alumni and their invited guests.  Over 3000 participants signed up for the term-length 24-lecture course, delivered via Flash streaming (rtmp) video encoded for broadband (~400kbps). Most common technical complaint from users: video performance and rebuffering due to insufficient bandwidth. 

  • So, I've got one of those Verizon Wireless Cellular Modems, a little USB one. Great 500kbps+ broadband in the city, but when I go on one of my frequent trips to coastal Maine, I'm lucky if I get 80kbps.  Actually, I really am lucky, as the alternative is 56k dial-up.  Wide swaths of the geography are not covered by cable or DSL, and cellular is the best I can do.  People have to drive into town to get Wifi at the local cafe, or suffer with a slow connection from home.
So, even among a net-savvy demographic of people who otherwise have resources, there remains a small but significant need for low-bitrate video solutions.  Currently, we're encoding a new set of programs for multiple bitrates all the way from HD to dial-up, and testing has been an issue.  Two techniques have been lifesavers.

For Windows, Netlimiter, an inexpensive bandwidth simulator utility I wrote about on streamingmedia.com (and commented on here) a while back, lets me set my throughput to whatever I like. I can pretend I'm on my coastal-Maine cell-modem, or a dialup, or anything else easily.

For the Mac, it's already built in to the OS's Unix roots.  It's in the ipfw command.  You set up the bandwidth limits by creating filters with bandwidth limits, then associating those filters with the ports you want limited.  Here's how to set up a bandwidth limiter for testing rtmp Flash streaming (port 1935). Note that if you're not logged in as root, you will need to use sudo to run these:

sudo ipfw pipe 1 config bw 400kbps
sudo ipfw add 10 pipe 1 tcp from any to me 1935
sudo ipfw add 11 pipe 1 tcp from any 1935 to me

Change it at will by issuing the pipe command again...

sudo ipfw pipe 1 config bw 1400kbps

You can also introduce simulated network latency, control outbound bandwidth separately from inbound, and control bandwidth to or from a single IP address or subnet.  There's great documentation at Luigi Rizzo's Dummynet site.  Thanks also to Ask Bjorn Hansen for his mini-tutorial on this.

December 13, 2007

Facebook and Academic Institutions - Content or Context?

In the world of enterprise and educational  IT, the question I keep hearing asked about Facebook is, "will this supplant our intranet/course platform/LMS/[insert your enterprise application platform of choice]?  Students want to know if they can get their course content in Facebook.  Administrators want to know if allowing students to use Facebook for anything academic will drive users away from their school portals or course environments. Part of the confusion is an as yet immature understanding of what Facebook and the custom applications you can develop for it are really best at.  

Harvard Business School Professor Andy McAfee writes, in Facebook on the Intranet? No -- Facebook AS the Intranet, about Serena Software's employing Facebook as its intranet portal.   Bill Ives goes into more detail:

One of major flaws of existing intranets, even when they work to find stuff, is the lack of social context. It is difficult to find anything about people. Serena wanted to promote a greater connection between people. Facebook, which is both free and a great example of web 2.0, seemed to be the right answer. They established a private Facebook group for Serena employees and they built a few simple custom Facebook apps to better enable intranet functions. Now they provide links through Facebook to documents stored securely behind the firewall.

Facebook is really good at one thing - providing a social graph that connects users to each other.  Developing a Facebook application makes the most sense when you're trying to intersect a social graph of your own (such as the enrollment in a course, the list of students with the same concentration, or those in the same study group).  When developing an application to do exactly this for students, it became clear to me that Facebook's value was not in being the container through which large bits of course content, school administrative information, or academic discussions would be delivered.  We already have excellent applications for all of that, and they provide a level of access control, administrative options, and a cultural "fit" that is useful and durable. 

What Facebook does do, however, is let us publish snippets or updates to students sourced from these university systems, and drive traffic back to them for the "full story".  It lets us give a student a page within Facebook with their course schedule, links to the course sites, lists of their Facebook friends (and other participating users) who are in their courses, and various ways to message between these groups.  Facebook's friends is social graph A, the various university roles and identities of students are graphs B/C/D/etc.  Facebook provides  the means to intersect and display them in creative and student-focused ways.  It's about context for your content, not really about delivering your content.  

As Serena found out in its implementation, Facebook's API that allows iFramed applications to run inside its framework mean that you can develop secure programs that combine a user's Facebook identity with their institutional identity, all without exposing any of your data or your users' institutional login credentials to Facebook.  I suspect that as more institutions explore this realm, some common understanding will emerge that Facebook and social-graph platforms like it are not a threat or a replacement for the portal, LMS or CMS, but a complement to them.

December 03, 2007

Video Transcript Browsing Interface

CNN has presented a unique and powerful UI for viewing and navigating the video of one of the recent Presidential debates.  Aside from having done a great job presenting the transcript alongside the video (with appropriate click-to-play-from-here functionality), as well as a table-of-contents by topic; CNN has created a unique "map" of the debate, allowing a user to single out a moment, a particular speaker, or the results of a search by spoken word in a brilliant, graphical display.  

What's also interesting is the implementation:  a client-side Flash applet handles the whole thing by reading a single XML file that contains the entire contents of the debate in text form.  

It's one of the finest examples of this kind of thing that I've seen.  I'd love to know if anyone has thoughts about other situations in which this kind of interface could really add value.  The cost would be an issue - transcripts are expensive, as is massaging a transcript into the descriptive XML required for this tool.  Automation using tools like the Virage VideoLogger and Pictron's Audio Gateway can identify speakers and generate text from speech - the accuracy would certainly be far less than what CNN has done here, but for some purposes, would it be "good enough"?

June 26, 2007

The New RealPlayer 11 - A First Look

The new, "web-video-download-center" version of RealPlayer (Is RealPlayer Going to Make a Comeback?) is out this morning. [Download RealPlayer 11]  Some first impressions:
  • Download: A 13MB download, but no questions asked and no prompting for personal info
  • Installation: At about 80 seconds on my MacBook Pro (WinXP under Parallels), still not zippy, but it asked just a few simple questions about configuration on a single screen. Much simpler than prior versions.
  • Loading: Loads up quickly - much more quickly than older RealPlayers.  Feels fast.  The UI still includes tabs for managing your media library, looking at the RealGuide, etc.  But interestingly, the RealGuide, rather than be full of links to teenybopper pop stars, is full of links to top content on YouTube, Metacafe, and the like. Screenshot of RealPlayer download button on Brightcove page
  • Downloading video from the Web: Of course, the feature everyone's talking about, RP11 adds a "Download This" link to videos that appear on any Web site with video.  Shown is a screenshot showing the button added to a Brightcove page:
  • Clicking the download button gets you a download manager that resembles Firefox's download manager. 
  • Videos go into your video library in their native format -- no conversions or obfuscating file names -- it's just there in plain view in the home directory (\My Documents\My Videos\RealPlayer Downloads by default)
One interesting thing about RP11 is what it will not download:
  • RTMP Streaming Flash video (from a Flash Media Server or equivalent) will not download.  Only HTTP-delivered FLV will work. 
  • DRM-protected video will not download.
The built-in "Share This" button on RealPlayer sends a link to the original video content.

All in all, I found that RP11 downloads video successfully from a wide variety of sites, including YouTube, Metacafe, Brightcove, CNN and others.  My first "cannot record this" hit came from Harvard@Home's Human Systems Explorer site, which uses true Flash rtmp streaming from Akamai.

Not a bad first impression. Some things need further exploration.  For example, I haven't yet found out how to hide, when the player first opens, the window that shows the RealGuide, the Library, and other stuff that's not "just the video, please".  Maybe this fits with Real's apparent strategy to make the standalone player into a good media download/management center and leave the embedded player for "video only" uses.  I'll post more info as I learn more.

June 21, 2007

Is RealPlayer going to make a comeback?

Real Networks' newest RealPlayer player appears to be a huge departure from their earlier client-side products.  While the Helix server technology and the RealVideo codecs have been ones-to-beat in streaming media technology, the RealPlayer has been the face of the company to the user community - and it hasn't always been a pretty face.  Real's marketing folks, in the heat of their battle for survival with Microsoft, saw RealPlayer as a the company's direct pipeline to users' pocketbooks.  

Let's face it - the RealPlayer, despite its technological excellence (SMIL 1.0 & 2.0, universal format support, the industry's best codecs, and support for nearly every OS and browser out there) became an abomination - big heavy download, cumbersome registration required, ads and eye candy all over the place, "notifications" that pop up and annoy with marketing messages.

Fast-forward to today -- In the new world of the Web, Flash is taking over because its player is everywhere and its user experience is simple, unmarred by distractions, and an easy download in the unlikely case you need it.  I've even been able to install the Flash player using Firefox's XPI Flash installer - no UI whatsoever, just one click and it's in.

So with many of Real's remaining customers (there are many, especially in the higher-education industry) avidly looking for alternatives to RealPlayer, and Real rapidly approaching irrelevance in the video technology space, RealNetworks has come up with a new approach. Real's new player (RealPlayer 11) boasts two major innovations:
  1. The player is small and unobtrusive, with a quick, easy install that asks no questions, takes over nothing, and generally leaves you alone.
  2. In what could be a stunning new capability, RP11 will download non-DRM-protected video from any website, in any format (Flash. Real, QuickTime, WindowsMedia, etc).  While you're watching that video on YouTube, Google, Metacafe, Brightcove, or anywhere else, RP11 will add a little "save this" button to the video itself. 
The idea is that RealPlayer becomes the base of your personal video library. You can share (by sending around links to the original source), or with a $30 upgrade, burn to DVD disc. Presumably, one of these options will let you easily flip content to your iPod.  There's a pretty good video demo given by Real VP Jeff Chasen at Scobleizer.com.

Dan Rayburn at the Business of Online Video blog wonders what's the business advantage to Real?

Now aside from the obvious idea that content owners may revolt at the idea of people being able to save their content whether they want them to or not, I just don't see the value to RealNetworks in a new player. Why offer it?  

And I think the bigger question is, do we really need more players in the industry? Isn't it already hard enough for consumers? How many more players and plugins are we going to try and force viewers to have to download?

He's not alone.  Real's CEO Rob Glaser makes his case in his post The World Isn't Flat, and responds directly to Rafat Ali's "Open Questions to Rob Glaser" in his own RealNetworks Blog post.

The new RealPlayer gives the users lots of control over Internet video -- watching it offline, burning it to CD or DVDs, storing it in a library, etc. Sharing content links directly from the RealPlayer library can be really useful. A number of people who’ve tested the pre-beta have told me that they love watching a few seconds of a video on a web site, then using RealPlayer to download a copy for later viewing.

My take?  Looking at the education industry, up to now I see a large investment in Real's technology that's been feeling more and more like a liability, strictly because of the horrendous RealPlayers of the RealONE/RP10 generation.  Folks are looking at costly switches to Flash video infrastructure not because the video or server technology is so great, but mainly because the player has mindshare and doesn't do anything to piss-off its users.  

So, if Real's new player is something that a) is a no-brainer to install and use; and b) provides truly useful functionality on top of the enormous-and-growing world of online video content, it may just become relevant again to online users. And that's good for Real's existing customers, for sure.  How that helps Real acquire new paying customers isn't clear to me, but I'd guess that anything that makes RealPlayer more relevant in the marketplace has to be a good first step.

May 01, 2007

Is Amazon's S3 the cheapest streaming video hosting out there?

[EDIT Feb 26, 2010] There's a new how-to article on this topic. How to Get Started with Cloudfront Streaming is the example page for the article How to Get Started with Cloudfront Streaming[/EDIT]

While researching CDNs for storage and delivery of digital video, I found that at least one major user-generated video website provider is using Amazon's S3 service for delivery of Flash video over HTTP. For http delivery of lots of clips on-demand, S3 is apparently doing the job.  The costs are astonishingly low:
  • $0.15/GB stored per month
  • $0.18/GB delivered (or less)
A look at Dan Rayburn's recent blog post listing streaming CDN vendors shows some of the streaming heavyweights, with broad networks of origin and edge servers optimized for real-time media delivery.  Akamai, for example, pre-caches media content close to the network's edges, making videos load quicker. For a site that's advertising-funded, fast loading pages can lead to more page views, which equals more revenue. 

But, S3 is an option I hadn't thought of for online video.  There's no support for the RTMP or RTSP streaming protocols, but many sites are just fine with HTTP download delivery these days. (Streaming vs. Downloading - What's the Difference?)  While it may not be optimized around realtime delivery, it certainly offers unlimited scalability at rock-bottom prices.  And options like its rich developer API and BitTorrent integration could be an asset to a comprehensive media delivery strategy.  It's certainly an option worth looking at.    

April 13, 2007

Image, Audio & Video Search - Reading Content and Context

In his article, Improving Image Search, Harvard's Michael Hemment writes about a research project at UC San Diego that uses human-generated sample data to train an engine that analyses images to extract searchable metadata. 

 Supervised Multiclass Labeling (SML), automatically analyses the content of images, compares it to various “learned” objects and classes, and then assigns searchable labels or keywords to the images. SML can also be used to identify content and generate keywords for different parts of the same image.

This is an interesting topic. I'm reminded of several related topics -- all involved in extracting useful metadata from binary media objects :
  • The Music Genome Project and their Pandora site. Uses human-generated metadata to describe the music, but using fields very similar in concept to the data in VIA or the seed data used in SML. 
  • Using OCR tools to identify and index text that appears in an image. Google's Orcopus project is an open-source way to do this, although commercial products like Pictron do it for images and video. 
  • Speech-recognition on audio/video content is similarly a way to try to index the otherwise opaque contents of a binary media file. What's odd is how little use this has gotten in the real world, even though the technology has been around for quite some years.

    I read somewhere on the web recently, (can't recall the source) the correct observation that hugely popular video sites like YouTube are built on making video findable by using very primitive metadata combined with the all-important context. Who else likes this? What else has this person created/bookmarked/shared? What comments and tags have users applied? All have turned out to be far more useful than a full transcript or speech-recognition search. 
One burning question for me is, why is searching inside a PDF massively useful, but searching inside a video just doesn't quite hit the mark?  What's holding video or image searching back?  Is it the quality of the metadata we extract and index?  Does video simply contain less information density (in its transcript) than a written article (i.e. have you ever read the transcript of a half-hour program, only to realize that you can read/skim it in less than 3 minutes?)? Or do people simply use these kinds of assets differently than they do text-based documents, so different rules and benefits apply when searching?  

April 12, 2007

e-Learning 2.0 - The End of the Course?

Will blogs, wikis, Web search and other implements of informal learning replace the instructional designer, the teaching faculty, and the very concept of an academic course?

Tony Karrer of TechEmpower spoke at a session of Harvard Business School's BrainGain instructional technology speaker series yesterday about the impact that these technologies are having on transforming corporate training, and to some extent traditional education.  When can a collaborative wiki take the place of traditional course materials to facilitate learning in an organization?  How do blogs extract value from personal communication in ways that email does not?  Tony's recent blog entries  eLearning Business Alternatives, Disruptive Changes in Learning and Content Vendor Value address these trends.

I'm a strong believer in the unmatched information-gathering capability Web tools give learners.  The growth of Web 2.0 technologies serves to multiply the effect, with mashups, add-ins and simple cross-publishing of content from one site to another providing the free-form platform that allows end users to create new value in the ecosystem.   Online reference resources created by user communities can be more effective means of compiling and distributing the right information in the right-sized chunks. 

But I'm not a believer that all of this is always going to be an effective substitute for an educational curriculum.  Education is more than skills training.  It's challenging the way students think. It's walking them down a path that builds on basics, builds a knowledge base that grows eventually to become more than the sum of its parts.  It's providing a context that helps motivate and direct the learners' efforts.  If information were the same as education, we could plop a set of Web resources and books in front of first-year college kids and say "Have at it! Become chemists!" and they'd do it on their own.  (Actually a very few students could probably pull this off, due to their intrinsic motivation, ability, and interest in the topic.)  In real life, people often need teachers, coaches, trainers, and leaders to help them deliver their best.  

At their worst, courses can be boring, irrelevant, or wrongly-paced for their students.  At their best, they are highly motivating, are transformational experiences that give the learner an entirely new context for how to think about a problem, and provide a framework of basic knowledge that serves as a solid foundation for future learning (formal or informal).

Alternatively, collaborative E-Learning 2.0 resources at their worst can be random piles of facts (of unknown accuracy), filtered by groupthink and presented with limited context.  At their best, they are the collective, first-hand knowledge of countless experts, organized and interlinked in a way that creates rich context that no instructional designer could have imagined (let alone implemented).  

I'm thinking, there's going to continue to be room for both for a long time.  Tony's blog post mentions Valerie Bock, whose assessment I agree with:
Subscribing to RSS feeds, tags and searches is a great way for an individual to keep abreast of what’s happening in her field. Contributing to communities of practice is a terrific way to pass on hard-won expertise. It’s all good.

But it’s not sufficient. In the frantic, multi-tasking environments in which we all work, there is perhaps a more urgent need than ever for content which is the product of careful reflection about just what is essential, and how it fits into an overall framework.

We think the future of learning is in the engagement of learners with each other, and with skilled facilitators, around that content.

April 06, 2007

Online Video and Web 2.0 - What's missing?

Dan Rayburn points out in his Business of Online Video blog that streaming video isn't a Web 2.0 technology.  But while Dan's point is that streaming video has been around way too long to be considered part of the Web 2.0 "fad", I think the relationship between video and Web 2.0 is more complicated than that.  

The key ingredient of "Web 2.0" technologies that makes them worthy of that label is that they have open APIs and are freeform platforms that allow user behavior to define and create value.  Harvard Business School professor Andrew McAfee says it well...

...the use of technology platforms that are initially freeform (meaning that they don't specify up front roles, identities, workflows, or interdependencies) and eventually emergent (meaning that they come over time to contain patterns and structure that can be exploited by their members).  Email is a channel, not a platform; groupware is not freeform and typically not emergent; and knowledge management systems were essentially the opposite of freeform --  they presupposed the structure of the knowledge they were meant to capture. 

...so, to build a Web 2.0 service, Andy says, 
  • Build platforms, not channels
  • Make sure they're initially freeform
  • Build in mechanisms for emergence.  These mechanisms include links, tags, powerful search...
...and, I'd add, simple APIs for combining and syndicating content from one site to another.  Sites like YouTube are on the edge of Web 2.0 because of the ease with which users can publish their content not just to YouTube, but to other sites.  Web 2.0 facilitates video mashups: videos can be embedded across sites, search results can be published as RSS, users can "mash-up" collections of video with photos from Flickr and maps from Google or Yahoo.

But, Dan's right - video isn't really Web 2.0 enough, yet.  As Microsoft's Jon Udell points out

The kinds of standard affordances that we take for granted on the textual web — select, copy, reorganize, link, paste — are missing in action on the audio-visual web. The lack of such affordances in our current crop of (mostly) proprietary media players suggests that open source and open standards can help move things along. But nobody in the open world or in the proprietary world has really figured out what those affordances need to be in the first place.

Standard ways to search within video, associate a video timeline with other media, and deep-link into video content simply don't exist.  RealPlayer and WindowsMedia always did offer a way to deep link using start parameters in the .ram or .asx file URLs, but the endless variety of custom Flash video players (since there isn't really an official, usable "standard" one) means that even that simple method is no longer available on most sites.  And as for search -- while web search engines crawling into a Word document or a PDF file is routine, video content search hasn't caught on, even though the technology, from (the defunct) Virage, Streamsage (now part of Comcast) , Pictron, Podzinger, and others, has been around for years.  

So, Online Video 2.0 is yet to be born - while video is a part of the Web 2.0 ecosystem that generates value from unscripted user behavior on freeform platforms, it's not yet ready to BE one of those freeform platforms.

April 04, 2007

Fundamentals of Website Development - Course Resources

Last night I had the privilege of giving a guest lecture on streaming video in Dave Heitmeyer's Harvard course, Fundamentals of Web Development.  As a follow-up, here are some further information and references on topics that came up in the class.
Anything I forgot..?  Leave me a comment and I'll update this as needed...

March 27, 2007

A Full-Featured Flash Video Player

Flash video is great for users, but the player lacks easy, built-in features Web developers have come to expect.  But now, Jeroen Wijering has developed the full-featured Flash Video Player 3.6 which finally makes all the features of a "real" video player available to Web developers using Flash video on their sites.

The standard video players - RealPlayer, Quicktime and WindowsMedia - all have APIs that help make it easy to embed interactive video onto a Web page.  The major video platforms provided simple run-time customization capabilities that developers have come to expect from video platforms.  By setting values in either the web page or the metafile (.ram, .asx, .qtl), you could accomplish a lot:
  • support for metafiles that can be generated on-the-fly
  • playlists
  • background colors and logos
  • captioning
  • control over the appearance of the player controls
  • fullscreen mode
  • autostart and repeat behavior
Naturally, if you are a Flash developer, you can make a player that handles all of this.  Indeed, unless you're simply hard-coding an .flv URL into the stock Flash video player, you have to do Flash development to make a more capable player.  Jeroen's Flash Video Player 3.6 solves all that.  With an elegant API that works through metafiles or FlashVars, you can customize the playback experience without having to do a lick of Flash development.  What's more, a full Javascript API includes controls (playlist navigation, play/pause, scrub and seek, volume control, and movie loading), Javascript callbacks, and metadata extraction.

This player covers all the important bases in terms of the video player capabilities Web developers need, and makes publishing Flash video as easy as publishing Real, QT or Windows Media.  It's distributed under a Creative Commons License, free for non-commercial use, and nearly free for commercial use.

February 16, 2007

Online Video Industry Index

The folks at Read/WriteWeb have put together a terrific Online Video Industry Index that provides a snapshot of the current online video marketplace.  It's not about hardware or software vendors, like Sorenson, Accordent, or Adobe, but rather sums up the online services space very well.  This list breaks the industry down into categories that include Video Sharing, Video Search, Video Editing & Creation, Video eCommerce, Video Streaming, and others.  

I've been working in this space a lot lately, and have worked with many of the providers on this list, including some as-yet little-known ones.  While the authors disclaim the index as "not complete", to my eye it looks pretty comprehensive.   One useful addition would be Sorenson Media, which is getting into the space with its Squishnet video management service.

This is a great resource. In particular, many of the vendors in this index, as well as being consumer-oriented destinations for video, offer enterprise services and developer APIs that let companies and educational institutions build custom, branded video services on hosted infrastructure. Because of this, the consumer video Web is relevant far beyond the entertainment focus that's driving its growth.

January 17, 2007

Flash streaming encoding settings - what are sites like YouTube doing? (and how can you find out?)

I'm trying to do something simple - find out the codec and bitrate information for Flash FLV videos found on the Web.  In RealPlayer, the "Statistics" menu option reveals everything you need to know, and shows even more if you launch it in "Debug" mode (holding the crtl-shift keys as you select 'Statistics" from the menu).  WindowsMedia provides similar info if you select "Properties" while it's playing. But Flash?  You're out of luck unless you do some extra work.  

My solution may not be the slickest one, but it's one I could work out in a few minutes of Googling around.  You need two things:
  1. First, a tool to download the FLV file to your local system so you can open it with a program that will expose the technical details you want.
  2. A program that analyzes the clip and outputs the codec and bitrate details of the file. 
Stumbling around, I found two options for downloading:
  • The Firefox extension Video Downloader.  This grabs embedded media from a page and saves it locally.  For video, it only works if the video is delivered via http download (not streaming). 
  • A Windows tool called WM Recorder 11.  This one hooks into your TCP/IP stack to automatically record any streaming content coming to your computer, including rtsp, mms, and rtmp streams. As a stream recorder, it's a very cool new option in addition to the old standby I wrote about in 2003, Cucusoft's StreamDown [buy].    
For examining the contents of a file, Moyea FLV Converter [buy] seems to be the best one of those I tried for extracting all the information from files encoded with both the H.263/Spark and On2 VP6 codecs. 

Some interesting findings?
  • YouTube, Metacafe, and Google are all doing Flash 7 - Sorenson Spark via http download.  Spark, based on H.263 isn't so great by today's standards, which explains why video on these sites often looks so bad. On the other hand it is compatible with Flash 7, making the installed base of players close to 100%.   It can also be encoded from a command-line (or from website code) using free or open-source tools like ffmpeg and Riva. Some video/audio bitrates I sampled are:
    • YouTube - 240kbps/64kbps
    • Google - 282kbps/64kbps
    • Metacafe - 330kbps/48kbps
  • Brightcove is rtmp streaming using the excellent Flash 8 VP6 codec, bitrates range from 308k/64k to 640k/96k.
  • Feedroom (responsible for video news sites like New York Times and USAToday is using rtmp streaming, but it's using another level of indirection in its site that makes its streams  not capturable by WMRecorder.

Disclosure: Some of the links above are affiliate links. Any of the pennies that trickle in from purchases of these products from these links will help support the ongoing costs of maintaining this site.


January 12, 2007

Video encoding tools, codec comparison

Which Web video format is the best? Which encoding tool is the best one?  Which tools handle high-action video best?  If part of your job involves encoding digital video for Web delivery, you must read streamingmedia.com's research reports on codecs and encoders.  Some of the key points are summarized in  Jan Ozer's article, Choosing a Codec. Some highlights for me:
  • RealVideo is the best overall codec of all the tested choices, and became the benchmark against the others were compared.
  • Differerent codecs were best at handling each combination of encoding bitrate and content type (e.g. talking head vs. sports video) 
  • Some tools encode some formats and content types exceptionally well, while doing a poor job on others.  
  • VBR (variable bitrate) won't always offer an improvement over CBR (constant bitrate), even for high-motion content. 
The two reports, Proprietary Codecs, 2006: Choosing and Using the Optimal Video Codec and  Flash Codecs, 2006: Choosing and Using the Optimal Flash Codec are, unfortunately, not free,  but they are treasure-troves of information about codecs and encoding software.  I recently bought a copy of each, and plan to site-license them for all the folks involved in encoding digital media at Harvard University, where I'm the University's Multimedia Technology Architect.  

Although I've been a contributing editor to streamingmedia.com and have friends there, I have no financial interest in these reports. I just think there's awfully helpful!