1. NodeBox 1
    1. Homepage
    2. NodeBox 3Node-based app for generative design and data visualization
    3. NodeBox OpenGLHardware-accelerated cross-platform graphics library
    4. NodeBox 1Generate 2D visuals using Python code (Mac OS X only)
  2. Gallery
  3. Documentation
  4. Forum
  5. Blog

any of you guys want to showcase works on giant outdoor LED screens?

Posted by Bren O'Callaghan on Aug 06, 2007

Hello all…

I work upon a not-for-profit project initiated by the BBC/British Broadcasting Corporation, which involves the installation of giant outdoor LED screens in major UK towns and cities.

The purpose of these is for the showcasing of creative talent; specifically within each region but also across the UK and indeed the world. Be it film, video, animation, programming, interactive media arts and also live activities.

I myself manage the giant screen in the city of Liverpool, but also look after interactive and artistic content across the entire network (to date including Manchester, Birmingham, Hull, Bradford, Rotherham, Derby, Leeds, Liverpool and forthcoming in Swindon).

We are particularly keen to encourage motion-sensitive response and public interactivity utilizing on-screen surveillance-style cameras that point into the public space below. Here in Liverpool we have been the development site for this type of installation; see below:

http://www.bbc.co.uk/bigscreens/

http://www.icdc.org.uk/portfolio_BigScreen.aspx

http://future.iftf.org/2006/12/futures_thinkin.html

http://www.hmcinteractive.co.uk/digital_grass.php

http://www.bbc.co.uk/liverpool/content/articles/2007/02/27/bigscreen_rednose_feature.shtml


We are always looking for more applications, be they ‘ambient’ (capable of running as part of general operations, dipping in and out throughout the day or night), ’active’ (requiring street-level management, from fencing to stewards and/or additional infrastructure for a realisable time period or one-off events), overnight ‘muteloops’ (screens operate 24/7, with audio, but go silent from midnight until 6am… this is a time when we can experiment with self-generating weirdness to entertain clubbers and night owls!), or any other form you can think of.

I’ll be honest, we operate with very little budget and payment is not always possible, but SOMETIMES it is, especially when our respective city governors get all excited about a project and throw some cash our way. In my own patch of Liverpool, I am particularly looking for motion-sensitive works to showcase during 2008 when the city celebrates European Capital of Culture… and I’m determined to locate some funds to help make this happen.

At worst? Suitable projects feature upon an exciting, emerging platform that is still so experimental that no one, not anywhere in the world, really and truly knows what works and what doesn’t. How do I know? Because I’m also producing the arts and events programme for the largest international conference on the topic:

www.urbanscreensmanchester.org.uk

I’m sure you want to know about size, right? Typically 26 square metres, LED, around 10 metres high.

Each site has a high-spec PC and mini-Mac, each with a feed of the on-screen camera (which can pan, tilt and zoom in or out for the desired angle), which we use for applications of this type. A work might typically be scheduled to appear 5x per day for half an hour each time.

What say you? Anyone? Interactive artworks? Responsive applications using a live video camera feed? The kudos, or the cash? You lot are the brains, while I provide the flesh-sacrifice required in running this inspiring yet occasionally infuriating behemoths.

Hello? (sniff)

- Bren


 
Posted by Tom De Smedt on Aug 06, 2007

Sounds like an interesting project! If anyone is thinking about doing something in NodeBox and needs live camera input for testing, I've uploaded a library to grab frames from the iSight camera.



Posted by anonymous on Aug 18, 2007

Sounds cool. Maybe if you got a really powerful computer, you could do the motion arrows by Nex. That would look great on a big sreen.



Posted by nex on Aug 29, 2007

Oh damn, a couple of days ago I'd tried to post a comprehensive post about my findings w.r.t. getting live video into NodeBox here, but it didn't show up :-(

I don't have much time now, but the drift of it is: I couldn't manage it so far (the lib Tom suggested above is super easy to use, but only good for stills), does anyone have a clue/hint?

About the motion arrows: My first NodeBox concept would need a powerful computer to make it interesting, but I could easily make a nice version run in real time on a G4 if I did it with OpenGL. Maybe using the coreimage module with NodeBox would also work fine.

But to make it really interesting, motion detection would be great.

A question to Bren: The cameras you use are probably IR sensitive, would it be possible to throw some infrared light into the field of vision of a camera, so at nighttime, you could leave the audience in relative darkness, yet make them visible to the camera?



Posted by tiep on Aug 31, 2007

one way to make it happen is to use the JMyronlibrary from Josh Nimoy in processing. leave it running while saving data into a txtfile. run nodebox and read the positions from the same textfile/
the best way to get a live image to work on is to save a picture every other frame in processing as well since you cant use the Isightlib and run Myron at the same time.
all this above is a little detour but offers motiondetection and livecamera input in one /. whieee !


---- processing code (you need to download the JMron lib also ++ for macbook a recompiled libJMyron.jnilib (see forum for more info)

/* a lot of this comes right out of the examples that come with the library . it basically tracks global motion calculated from every glob in the screen. (the green thing)
you should not visualise the picture in processing to gain speed
*/

import processing.opengl.*;

import JMyron.*;

JMyron m;
float objx = 160;
float objy = 120;
float objdestx = 160;
float objdesty = 120;
String[] numbers = new String[2];
float counter = 0.0;
void setup(){
int w = 320;
int h = 240;

size(w,h);
m = new JMyron();
m.start(320,240);
m.findGlobs(1);
m.minDensity(70);
m.maxDensity(150);
m.adapt();
}

void draw(){
m.trackNotColor(0,0,0,25);counter++;
m.adaptivity(10);
m.globsImage();
m.update();
int[] img = m.image();

loadPixels();
for(int i=0;i0){
objdestx = avX;
objdesty = avY;
}
objx += (objdestx-objx)/10.0f;
objy += (objdesty-objy)/10.0f;
fill(30,100,0);noStroke();
ellipseMode(CENTER);
ellipse(objx,objy,30,30);

numbers[0] = str(objx);
numbers[1] = str(objy);

String list[] = numbers;fill(250,0,0);
saveStrings("coordinatenMy.txt", list);

ellipse(float(list[0]),float(list[1]),10,10);

}


public void stop(){
m.stop();
super.stop();
}

-- the above makes two files : coordinatenMy.txt and beeld.jpg if you make a nodebox sketch and put it in the same folder it can read the files (PROCESSING MUST BE RUNNING)

----- a possible nodebox outpuy based on ...

coreimage = ximport("coreimage")
size(320,240)
speed(50)
global alles
alles = []

def draw():
canvas = coreimage.canvas(320, 240)
p = canvas.layer("beeld.jpg")
background(0)
global alles
txt = open("coordinatenMy.txt").readlines()
for line in txt:
alles.append(line)
alles = alles[-2:]
posX = alles[0]
posY = alles[1]
p.filter_twirl(radius=(float(posX)+float(posY))*0.2,
dx = -WIDTH/2+float(posX),
dy = -HEIGHT/2+float(posY))
canvas.draw()



Posted by tiep on Aug 31, 2007

that nodeboxsketch looked rather messy .
hope its better like this ..

coreimage = ximport("coreimage")
size(320,240)
speed(50)
global alles
alles = []
 
def draw():
    canvas = coreimage.canvas(320, 240)
    p = canvas.layer("beeld.jpg")
    background(0)
    global alles
    txt = open("coordinatenMy.txt").readlines()
    for line in txt:
          alles.append(line)
          alles = alles[-2:]
    posX = alles[0]
    posY = alles[1]
    p.filter_twirl(radius=(float(posX)+float(posY))*0.2,
                       dx = -WIDTH/2+float(posX),
                       dy = -HEIGHT/2+float(posY))
    canvas.draw()