User login

iVog 0.2

iVog was funded with assistance from the Australian Apple University Consortium and was a collaboration between the School of Applied Communication and the School of Computer Science at RMIT. The aim of the project was to develop a plugin for iMovie that would allow a user to export and publish to a videoblog directly from Apple's iLife video edit software package, iMovie.

Outline of Original Proposal

This project is to develop a plugin for iMovie that will allow the automatic compression and publication of video into a blog. It will use the existing XML RPC specification to communicate with a range of blog CMS’s.

The plugin is to support a range of user controlled actions, including compressing, writing the appropriate embed tags, and extracting a poster movie from the original footage.
In ascending order of complexity the plugin is to:

  • compress (using the existing compression templates in iMovie) and upload the QuickTime file to the blog and allow text entry or the launching of a helper application to edit the blog post.
  • automatically extract a poster movie from the clip, upload this and the compressed QuickTime file to the blog server, and embed the poster movie in the blog entry.
  • automatically add a sprite to the poster movie allowing loading of the complete QuickTime file when the poster is clicked on.
  • provide a simple interface to set the various embed tag options for the QuickTime plugin and to automatically write this code in the blog entry.
  • automatically extract a number of still frames to make a ‘microPoster movie’ so that when user mouses in movie autoplays (for approximately 6 seconds) and if clicked upon loads original QuickTime file.

Implementation

Dr Seyed Tahaghoghi recruited a student, Wei Feng, from Computer Science. For their participation they received free use of an Apple PowerBook for the duration of the project and access to Apple's online professional Developer Documentation services. Meetings were scheduled during the duration of the project (approximately ten months) with the student. Wei Feng had no prior experience on OS X, or any Macintosh development.
He undertook an investigation into iMovie, and eventually reported that he could find no documentation on plugins and he recommended that the project move to explore another strategy. It was agreed that an applescript would be developed that would implement most of the original scope of the iVog, it just would not be an iMovie plugin.

Various iterations of the applescript iVog were developed. The first issues were getting the compression happening - while there are a variety of presets in QuickTime, and the documentation suggests that you can develop and import a preset, this process was never successfully identified. As a consequence the applescript is hardcoded to use an existing preset ("Broadband - Medium").

The second major issue was communicating to a blog via the xml-rpc procedure call. However, it appeared there was a file size constraint which significantly constrained the file sizes possible to upload. As video files can be large this would seriously compromise the tool.

This lead to the use of FTP to communicate to the blog. This was successfully implemented but complicated the tool as end users would now need to understand some basics of FTP as the tool requires the entering of a username and password to gain FTP access, and of course there are numerous blog sites and blog users that do not use or provide FTP access.

The applescript was able to generate the micro movies as a series of stills, with a user nominated duration, and a total length. The writing of a sprite that would bre included in the QuickTime micro movie that would then load the final copy of the video when clicked upon was not achieved. Similarly the mouse enter autoplay (which would have been part of the same sprite track) was not implemented. This would have allowed the embedded video to play when the user moused into the video, showing the micro movie as a mini thumbnail of the total video. When clicked upon it would have retrieved the full length video and played it in the same location (using the href and target="myself" parameters of the QuickTime embed tag).

Wei Feng was able to run the applescript where it would take source video, compress it, generate the micro movie, and upload both. However shortly after this a system upgrade to OS X occurred and this seems to have broken the applescript.

Project Outcome

Very early on during the implementation of the iVog project the student indicated that they were not able to determine the plugin architecture of iMovie or its viability. At this point a decision was made to develop a proof of concept AppleScript that would generate a micro movie, compress source video, and upload both to a nominated directory via FTP. The applescript would then generate a new blog post, embedding the QuickTime clip and allowing the user to enter text for the blog post.

It has been released in its unfinished state to:

  • meet the conditions of the funding
  • promote the development of this or a similar tool
  • let others use the source files to build a working tool

To Do

  • change preset QuickTime compression settings to use iPod default settings (trivial)
  • rescript and debug existing iVog applescript so operates under 10.4.x
  • FTP upload currently non functioning
  • change name of beta appllication to iVog
  • change URL in the about window
  • develop custom icon for the application
  • improve error messages
  • provide feedback during FTP upload and blog posting

Download

At the bottom of the screen you will find links to the iVlog applescript (vlog.zip), the iVlog source code (iVlogSource.zip) and the original AUC application (AppleFundiMovie02.pdf).

How To Use

After you have downloaded and uncompressed the iVog applescript inside the directory there is a file called vlog (or vlog.app). Double click this to launch.

There are two settings to be entered. These are accessed via the two buttons at the top of the vlog tool window. The first is "FTP upload settings", the second "Blog XML-RPC settings".

FTP upload settings requires the full path to the directory where the video is to be uploaded. (If you don't know what FTP is then this isn't for you.) You also need to enter your username and password for your FTP account - if you use a web hosting service then this will generally be the same username and password combination that you use to access this. The HTTP path is the http (URL) for the same directory as you entered for the FTP path. This is what the application is supposed to use to write the embed tag in your blog post.

Blog XML-RPC settings requires you to enter the location and address of the xmlrpc file for your blog. This varies across different blogging platforms (ecto maintains an excellent list). Enter the url, including the xmlrpc file name. The username and password are those you use for your blog.

The lower part of the application window are where you define the settings for the micro movie, and where you can write your blog post. Frames refers to how many frames to sample from your video, and duration is how long each frame will be shown for. It makes, in effect, a slide show (and how long it runs for is simply number of frames x duration).

Click the "Compress & Make Poster" button at the bottom of the window, this will open a directory dialogue box where you can select your video. The script launches QuickTime, compresses the source video, and then also makes the poster movie. Do not interefere with QuickTime or the ivog application during all this (and remember, compression can take a long time).

Click "Publish to Blog" and what is supposed to happen is the two video files (your compressed video and the micro movie), and your blog post should be created, with the video embedded. As of the current time this is non functional.

AttachmentSize
vlog.zip190.43 KB
iVlogSource.zip993.18 KB
AppleFundiMovie02.pdf211.53 KB