Last year an update to QuickTime meant that Quartz Compositions could no longer access RSS feeds when played within the QuickTime Player application. This change was made to stop maliciously created compositions from sending information to remote sources without the user’s knowledge and was made in the name of security. It was very annoying as I was using Quartz Composer to create ‘network aware’ works which accessed RSS feeds, bringing in text and photos from various sources online.
Now with the latest Mac OS software update another of my favourite features has been taken away from Quartz Composer. With 10.4.7 a Quartz Composition cannot use the ‘Image with movie’ node to nest compositions within compositions. Previously I could create a composition, save it in a .mov wrapper and then import it back into another composition as I would a normal movie file. This would let me quickly build up complex interactive compositions, layer and manipulate them in custom Vidgets.
I came across this problem on the Quartz Composer Developer List a few days ago but it was only when I went to play some of my more recent compositions last night that I realised how much of a problem it is. I had come to rely on this feature.
Pierre-Olivier Latour writes that they had to disable this feature so as to prevent people from creating compositions which reference themselves, crashing the computer (another potential security risk). I understand the need to make the software as stable and secure as possible but it seems like there should be another solution which prevents the crashing without ruling out a whole set of features.
It should also be noted that similar features such as network access (including the parsing of remote XML files) and the nesting of movies within movies have been key features of the QuickTime architecture for years without any such restrictions.
I’ve set up del.icio.us, a clever social bookmarking service to automatically post my daily links in the blog. I figure this place could do with a bit more activity and by adding a couple of lines of description to each link I can share the sites which catch my attention with a bit more clarity without having to sit down and write a proper post. I use del.icio.us quite a lot as I often move between different computers and locations.
While the daily post service is great, the interface for setting it up is a little clunky and cryptic unless you know what you’re doing. Thankfully Kevin Lim has written a helpful little guide to setting up del.icio.us with WordPress. It basically involves entering a username and password for your blog, the address of the xmlrpc.php file on your server, what time you’d like the post to occur in GMT and which category you’d like the post to appear in.
Another cool del.icio.us feature I’ve been meaning to post about for ages is the addition of RSS feeds for particular media types. Traditionally del.icio.us has provided RSS feeds of links for each tag, for example the RSS feed for links tagged “example” http://del.icio.us/tag/example is http://del.icio.us/rss/tag/example. Now, (since about halfway through last year actually) you can also search by media file type and generate RSS feeds for these complete with enclosures for use in podcasting applications like iTunes or FireAnt. So it can generate a feed of all the mp3 files people link to directly, or all the QuickTime movies or JPEG or MPEG files. Additionally, you can add tags to generate feeds of a particular media type about a particular topic, for example http://del.icio.us/tag/system:media:video+80s give you a collection of 1980s themed video files (mpeg, wmv, mov etc).
While I use iTunes as a media RSS client at the moment to harvest source clips which may be manipulated in live performance eventually it would be great to add a built in video RSS reader to my experimental video appliations (vidgets) and do live video searches.
[A disclaimer: subscribing to a feed of all mpeg or wmv files linked to by random strangers on the internet can lead to the automatic downloading of porn or other things you may not want on your hard drive (especially on a work or uni computer) so be careful eh ;-).]
A few months ago I began playing with manually corrupting jpeg files to see what kinds of artefacts I could create. I selected an image, compressed it down to a very small size (so I could easily manipulate large chunks of the data), opened it in a text editor (I like SubEthaEdit and TextMate) and added random text, copied pasted and generally shuffled the data, occasionally saving as new files.
Above is a QuickTime movie which animates through 12 of the resulting jpeg files. Click it to stop if it’s giving you a headache I re-compressed the jpegs just to be sure they wouldn’t crash QuickTime Player. Manually introducing errors and noise into files and then playing them is one of those “make sure you save any important files you have open” situations as things can grind to a halt.
I was playing with these images at Plug N Play at Kent St on Thursday night. I mentioned that I was planning on writing a php script which would similarly screw with jpeg images online and Sean told me about glitchbrowser.com.
From the site:
Computers are not allowed to make mistakes.
The glitch browser represents a deliberate attempt to subvert the
usual course of conformity and signal perfection. Information packets
which are communicated with integrity are intentionally lost in
transit or otherwise misplaced and rearranged. The consequences of
such subversion are seen in the surprisingly beautiful readymade
visual glitches provoked by the glitch browser and displayed through
our forgiving and unsuspecting web browsers.
This work was produced for New Langton Arts Packets programme,
by Dimitre Lima, Tony Scott and Iman Moradi.
“This is brush, a small Max/MSP/Jitter patch that I’ve compiled as a standalone application. It’s aimed at visualists who are just starting out and looking for software to play with. Programmatically, it’s very simple. Video from a live camera (or a movie file) is fed back on itself so that light stays on the canvas (screen). Thus, you can paint with the light in the room you’re in. Decay (fade time), tolerance (lower luma threshold) and color inversion are adjustable so you can adapt your performance to any lighting conditions.”
This is a great little piece of software, what I would call a Vidget. A small scale application which lets you manipulate digital media in real time for improvised performance. It is very easy to use and entertaining to play with.
VJ Bertranol aka Bertrand Gondouin is a Sweden based VJ, video blogger and video software developer.
Through his company Mixnbrew he has developed a number of interesting bits of software including Symtonic A Flash based online video mixer application, Patchouli a video blogging uploader / content management system, and Scramble a granular video synthesis engine.
Good work and good to see the whole video blog / vj / network video crossover thing happening.
It’s coming up on that time of year again. Electrofringe is a new media arts festival held in Newcastle as part of the This Is Not Art arts festival. Lots of good stuff on and definitely worth the trip.
This year I’m presenting / performing the following:
“Introduction to the use of two software platforms which allow the creation of realtime video installations which can respond to the audience or other available data.”
This will be a introductory ‘tips and tricks’ panel presentation with Luke Toop (Adelaide), Steve Huon (Melbourne), Khalid (Melbourne) and myself. I’m probably going to focus on the basics of how create a Quartz Composer patch and then turn it into a stand alone application with Xcode and a little bit on network access and RSS etc.
A live improvised AV performance with my frequent collaborator Doktorb Robotnik. Audio and video feedback crossed with data pulled from the network in real time. Followed by a discussion.
“Audio has been easily sampled, processed and manipulated live for decades. Although hardware and software now allow video to become just as malleable, it is used in a limited number of ways. How can current-day video tools be used to composite video at live events differently? How can theatre and storytelling better integrate live video? What storytelling possibilities lay beyond recreating cinema, music videos or ‘wallpaper’? How do live video and sound work best together? What video is most worth having live?”
The site is powered by WordPress and makes extensive use of customised templates, css and custom fields. The design is by Nicole Dominic, sliced up and css/xhtml-ised by me.
One of the main functions of the website is to present an easily update-able show-reel of the company’s work (primarily TV ads). Some of the tricks I discovered whilst making the site may be of interest to the videoblogging crew or others wanting to use WordPress as a content management system for video. The next step is going to be working out how to customise the site’s RSS feeds to include this information.
For each of the ads I make a regular post, storing a lot of information in custom fields, such as: the url of a thumbnail image; the url of a poster movie and the url of the movie itself. I store this information here rather than in the actual post text in order to separate content from styling and presentation, allowing me to refer to the same clip in a number of different ways from different areas of the site.
The main tools of trade when using Quartz Composer are patches. Each of these modular objects has a particular function when plugged together to create flows of information. For example a patch may import or download an image, calculate a mathematical operation, affect an image or function as a switch, selecting between other patches and signals. This flow ends up rendered on screen by a renderer patch.
While you can plug these patches together in almost any way, until recently you could only play with the patches Apple has included in the program by default. You could not create your own. This meant that while QC talks directly to the graphics card and renders all images as OpenGL surfaces, users were limited to rendering onto flat surfaces, spheres, cubes and a teapot shape.
I’ve been playing with rendering onto 3D Studio Max .3ds objects in QC for the past week or so but have had mixed results. The fighter jet model included by ?? works well but most other objects I’ve found online have either crashed QC or rendered incorrectly. I’m sure these issues will be worked out down the track.
Here is a quick demo Quicktime movie showing the fighter jet model in QC with cloud effects generated via particle systems based on this smoke effect by Noise Industries.
Squared 5 - MPEG Streamclip for Mac OS X is a handy little application which converts and demuxes mpeg streams. I found it a few weeks ago at work when I needed to recompress a large file from a client to put up on a website. By itself Quicktime Player will only export the video of a muxed mpeg file. MPEG Streamclip is designed specifically to convert mpeg 1 or 2 files to Quicktimes, or split them out to separate video and audio files (mpgs, m2vs, ac3s and aiffs). Very handy and free!
mDimension Technology have developed a plugin for Safari which lets you not only view Quartz Compositions in a web page, but also interact with them via JavaScript. This is very neat!
So far I’ve been experimenting with creating custom applications (Vidgets) in Xcode which control Quartz Compositions, this plugin appears to give me most of the same functionality within a web page. To control and manipulate the composition, first you must follow the same methods of ‘publishing’ inputs and outputs from a composition as described here.
View source on these pages to see how to send and receive information to and from these inputs via JavaScript. I’m still working it out myself!
Here is a demo page from mDimension with a Quartz Composition embedded.
Here is a quick demo I made up based on the above page. It allows you to load an image by entering its url into a field and clicking outside of the field (don’t need to press enter), and change the spinning text similarly.