Posts Tagged ‘rss’

Podcasting the unix nerd way or Peapod for the win

Terminal
I cooked dinner for myself today and sat down at the table looking forward to streaming The Daily Show or The Colbert Report on Hulu since there’s no way I’m paying $65 a month for cable TV. As it turns out, there haven’t been any new episodes in awhile, and I like my fake news fresh off the wire, so I decided to catch up on my other fake news addiction; aggregated blog rss feeds.

I came across the TED talk for today, which is Michell Obama. Great speech by the way, check it out at: http://www.ted.com/talks/michelle_obama.html. The streaming video quality left something to be desired, so I looked around and found the HD podcast URL at podcasters.tv.

This works well with iTunes, and MediaLink is able to copy the movie file from my MacBook pro, but for some reason streaming the video usually quits part way through playback with an obscure error code.

I have my OpenSolaris, Intel Atom based file server running on a gigabit network connected up to the Playstation 3 and HDTV using MediaLink, so I decided to look for some unix tool to download the podcast which could easily be run from cron.

After some searching and research into different options, I downloaded Peapod, a wonderful python command line application, and gave it a whirl.

To my complete satisfaction, peapod runs from my home directory without requiring any piece of itself being installed into the system. The only missing dependency I ran into was urlgrabber for python 2.4. Luckily, I have easy_install installed so it was a simple matter of:
pfexec /usr/bin/easy_install-2.4 urlgrabber
Once urlgrabber was installed, setup of the podcast client was a breeze:

jmccune@rain:~$ cd ~/bin
jmccune@rain:~/bin/$ ln -s ../apps/peapod/peapod.py peapod
jmccune@rain:~/bin/$ cd ~
jmccune@rain:~$ peapod
Creating user directory: /home/jmccune/.peapod
Created a default configuration file in :
/home/jmccune/.peapod/peapod.xml
Please edit this file to contain your feeds and options.

I commented out the sample podcast and added TED in HD.
(Note: I found the feed URL by doing a “Get Info”, or clicking on the little i next to the podcast title in the podcast section of iTunes.)
Podcast Get Info Image

For the title I made it “TED Talks (HD)” and for the URL, I used http://feeds.feedburner.com/TedtalksHD.

Finally, running peapod simply works.

jmccune@rain:~$ peapod
...Spawning thread 0 for feed url http://feeds.feedburner.com/TedtalksHD
Fetching feed for TED Talks (HD)
Downloading TED Talks (HD) -- http://video.ted.com/talks/podcast/MichelleObama_2009P_480.mp4
Trackname MichelleObama_2009P_480.mp4
Savename /export/dozer/podcasts/jmccune/TED Talks (HD)/MichelleObama_2009P_480.mp4
Mime-type video/mp4

This will be added to cron to run every day a few hours before I get home from work, and MediaTomb should pickup the new content.

And now to figure out how to manually kick off a MediaTomb scan of the folder once downloading is complete.

Here are some decent feeds I’ve found so far:

peapod --addnew=http://www.hbo.com/podcasts/billmaher/podcast.xml --title="Bill Maher"

Please post more video feed URL’s, especially 720p and higher, in the comments if you have some good video podcasts worth watching on my TV.

 

Evolving the Satay Method of Flash Movies for Syndication

Adobe Flash 9 IconAfter 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.

The article, “Flash Satay: Embedding Flash While Supporting Standards” by Drew McLellan has been an excellent source of information while working on my problem of streaming ISO standard MPEG-4 Part 14 content directly from my own website.

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.

 

MPEG-4/AVC Embedded Video

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:

Jump To: MPEG-4/AVC Embedded Video

Second, the embedded youtube video:

Jump to YouTube

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.