After doing some research, I’ve found the widely used method of distributing a small Flash player which acts as a streaming proxy for the “real” video file stems back to the Satay Method of embedding Flash content. More specifically, YouTube and the widely used JW FLV Player, among others, all appear to be derivatives of this method.
Overall, I’ve found a single <OBJECT> tag is sufficient to support both RSS syndication and embedded flash video in a standards-compliant manner. The trick is to simply nest an <a><img> tag inside the object tag. Google Reader will strip the object tag, leaving it’s children intact. This results in a static image being displayed when reading the syndication, along with a hyperlink back to the original article and the streaming video.
Now available for download, Firefox 2.0.0.7, Thunderbird 2.0.0.6, and Adium 1.1.2. These applications are in standard Apple installer.app package (PKG) format, and deployable through Apple Remote Desktop.
I noticed that the embedded video I posted in my last post didn’t show up properly in my RSS feed reader, so this post is an attempt to get things right.
The goal here is an accessible, high quality embedded video that works properly on both this site, and through syndication.
First, the MPEG-4 AVC Video:
Second, the embedded youtube video:
Here’s hoping this works…
Edit: (2007-09-28 01:05 -0400) Added placeholder images for google reader, which will strip the flash object from the feed.
I noticed in my RSS feeds recently that the new version of the Adobe Flash Player browser plug-in supports H.264/MPEG-4 AVC and AAC audio, but I didn’t think much of it at the time. As it turns out, I’m really happy that Adobe supports standard MP4 files accessible through plain HTTP, as it cuts out the proprietary Flash Video (FLV) format.
Macs are wonderful when creating rich media since they now ship with iMovie, and relatively inexpensive tools such as ProfCast are out there. This rich media derives a lot of value from being represented in standard formats such as MPEG-4 AVC (H.264) video, and AAC audio, all rolled up into the standard MP4 container. However, it turns out to be incredibly difficult to publish this standards-compliant media to a web page player that “just works” like Youtube.com.
Until now, the only viable way to embed this content in a web site was to use the quicktime plug-in, which is a bit heavy for the task. With the most recent versions of Flash Player 9, we now can directly play high quality videos, in a standard format, produced with free tools.
The code for this is relatively simple, though a bit of a pain to get formatted correctly. And by “bit” I mean, it took me hours. If I start to do more video content, I’ll definitely look into a plug-in so the blog handles these details.
The video is a conversion from a high quality Quicktime file to standard H.264/AAC video.
Hopefully we’ll start to see higher quality videos up on Youtube now. In the meantime, you’re able to do it yourself if you need to publish higher quality video in an easily accessible manner.
Things have been pretty crazy, but I just wanted to note that I’ve recently overhauled our Puppet deployment in the office, upgrading to version 0.23.2 from 0.22.4 on the server and clients, moving to the Apache/Mongrel load balanced cluster configuration, enabling reporting and some other tweaks. I’m very happy with the results. Performance seems to be much better with Apache handling SSL, and I haven’t seen any connections being dropped yet. I’m also happy to take advantage of some of the new features in 0.23.x.
I’ve posted a complete and short apache configuration on the Puppet wiki which should help you quickly setup apache as an SSL front end for a cluster of puppetmaster mongrels.
Recently, I’ve been getting Trac: IntegrityError exceptions on my Trac 0.10.3 installation, which I use to publish scripts and code in the knowledge base. It didn’t take me long to figure out what the problem was, based on the information in Trac Ticket 4586 and 4043.
It did take me a bit longer to work around the actual problem, however. I’ve upgraded track to 0.10.4, and issued the following two commands:
Recent Comments