Producing Participatory Media
Class 3 - July 8
Topics:
Desktop Aggregators
Just as there exists software for subscribing to audio podcasts (RSS feeds with audio enclosures) there are several pieces of software for subscribing to video blogs and video podcasts.
iTunes
Miro
Songbird
Each of these pieces of software have their own set of features and formats that they support. It is interesting to track the development of each, especially as they add things like Tagging, Integrated Directories, BitTorrent support, Sharing and so on. Both Miro and Songbird are Open Source and use VLC (worth a look itself) for behind the scenes playback.
Further interesting is the number of desktop aggregator clients that seem to have disappeared or are no longer being developed (examples: ion or FireANT).
Online Video Aggregators
In recent years their has been a rise (and perhaps a slight decline) in online video aggregators (perhaps replacing the desktop aggregators). There are many possible explanations such as increasing penetration of broadband to the home, such a wide amount of available video that takes up quite a bit of valuable disk space and perhaps most important how people find video (through word of mouth, email and so forth).
Among the ranks of desktop aggregators are:
FireAnt
MeFeedia
Yahoo Video
Google Video
Other interesting video aggregators are directly social allowing people to vote videos up and down (such as Digg):
VideoBomb
Digg - Videos
Certainly in the spotlight are sites that allow you to upload and then subsequently host your own videos:
YouTube
OurMedia
Revver
Blip.tv
YouTube probably doesn't need an introduction as it is the premiere user generated video/sharing site. OurMedia is similar but community funded and linked together with the Internet Archive. Blip.tv is more geared toward the prosumer (I can't think of a better word to describe it) crowd. It's terms of use are more relaxed and flexible and not perpetual or as all encompassing as YouTube's. (See Blip's Terms of Service, Grant of License section vs. YouTube's Terms of Use, 6. Your User Submissions and Conduct.) (I am not a lawyer and am guessing that these term differences are probably cosmetic but they do help define the type of user.)
Other sites that are attempting to push things a bit further by allowing mobile uploads, remixing (editing) and so on are:
Jumpcut
Eyespot
Definitely work a look..
Pushing it further ourselves
We have discussed quite a bit that online media is missing something that the text web has. Text is parseable, easy to copy, paste, reuse, share, link within and so on. Below are some ways that we can give a shot to pushing video further by allowing some of these things to happen.
JavaScript and QuickTime
Since QuickTime can be used as a browser plugin, it can be scripted.
The first step is to embed the video:
<OBJECT CLASSID="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" WIDTH="320"HEIGHT="257" CODEBASE="http://www.apple.com/qtactivex/qtplugin.cab" ID="myMovie"> <PARAM name="SRC" VALUE="http://itp.nyu.edu/~sve204/ppm/embedded.mp4" /> <PARAM name="AUTOPLAY" VALUE="false" /> <PARAM name="CONTROLLER" VALUE="true" /> <EMBED SRC="http://itp.nyu.edu/~sve204/ppm/embedded.mp4" WIDTH="320" HEIGHT="257" AUTOPLAY="false" CONTROLLER="true" PLUGINSPAGE="http://www.apple.com/quicktime/download/" NAME="myMovie"> </EMBED> </OBJECT>(Careful when using this code. Make sure that stray line breaks don't mess things up.)
<html> <head> <!-- QTObject embed by Geoff Stearns geoff@deconcept.com http://blog.deconcept.com/ --> <script type="text/javascript" src="http://itp.nyu.edu/~sve204/ppm_summer08/qtobject.js"></script> </head> <body> <div id="video"> <script type="text/javascript"> // create the qtobject and write it to the page, this includes plugin detection // be sure to add 15px to the height to allow for the controls var myQTObject = new QTObject("http://itp.nyu.edu/~sve204/ppm_summer08/embedded.jpg", "mymovie", "320", "255"); myQTObject.addParam("href", "http://itp.nyu.edu/~sve204/ppm_summer08/embedded.mov"); myQTObject.addParam("target", "myself"); myQTObject.addParam("controller", "false"); myQTObject.write(); </script> </div> </body> </html>Here is what the above yields:
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="550" height="400" id="player_lite" align="middle"> <param name="allowScriptAccess" value="sameDomain" /> <param name="movie" value="player_lite.swf" /> <param name="quality" value="high" /> <param name="bgcolor" value="#ffffff" /> <param name="flashvars" value="url=embedded.flv" /> <embed src="player_lite.swf" quality="high" bgcolor="#ffffff" width="550" height="400" name="player_lite" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="url=embedded.flv" /> </object>Basic Flash Video Player Source File
<html> <head> <script type="text/javascript" src="http://itp.nyu.edu/~sve204/ppm_summer08/swfobject.js"></script> </head> <body> <div id="flashcontent"> <script type="text/javascript"> var so = new SWFObject("player_lite.swf", "myflvmovie", "550", "400", "7", "#ffffff"); so.addVariable("url", "embedded.mp4"); so.write("flashcontent"); </script> </div> </body> </html>Here is how it is rendered: