No recognition from External DV cam (Mac)
in
Integration and Hardware
•
2 years ago
I am new to Processing. I'll be very grateful if somebody can help me to find a solution to this.
I am not able to captured into Processing from my IIDC FireWire Video/ DVCPRO HD (1080i50) camera.
When I open Photobooth or any other programme it will recognise the DV camera connected through the Firewire,
but in Processing, instead the only camera it recognizes is the integrated webcam of my computer Buiilt-in_isight.
The DVD cam is read by Quick time version 10 with no problem and other programes (final cut, iMovie, etc...)
My operating system,: Mac ox 10.6.8
My camera is a sony full HD 1080.
I'm using Processing 1.5.1 and GSVideo 0.9 also I've tested with GSVideo-20110709-macosx-leo32 with not luck...
Can this be an alternative:
I was wondering if there is any way to add to the code to disconect the Buiilt-in_isight and call for the DV cam instead? The Mac doesn't have a straight forward way to disconnect Buiilt-in_isight ...
I am not able to write the code to test it....
Thanks in advance. I am a bit desperate to find a solution...
Below more information on the code I am using.
This is my String[] devices = Capture.list();
The option should be [1] "DVCPRO HD (1080i50)" but I tried to replace all the different options that appears and none of them works.
[0] "DV Video"
[1] "DVCPRO HD (1080i50)"
[2] "DVCPRO HD (1080i60)"
[3] "DVCPRO HD (720p25/50)"
[4] "DVCPRO HD (720p60)"
[5] "Google Camera Adapter 0"
[6] "Google Camera Adapter 1"
[7] "IIDC FireWire Video"
[8] "USB Video Class Video"
When it Opens the settings page for this capture device all of them appeared in light grey and the only that shows in black is Buiilt-in_isight.
I've tried various Capture codes including GSVideo with no luck.
Below 2 of the codes I've used without luck:
import processing.video.*;
Capture cam;
void setup() {
size(640, 480);
cam = new Capture(this, 320, 240);
String[] devices = Capture.list();
println(devices);
// Change devices[0] to the proper index for your camera.
//cam = new Capture(this, width, height, devices[0]);
// Opens the settings page for this capture device.
cam.settings();
}
void draw() {
if (cam.available() == true) {
cam.read();
image(cam, 160, 100);
}
}
===================
This is the code GSV
import processing.opengl.*;
import codeanticode.glgraphics.*;
import codeanticode.gsvideo.*;
GSCapture cam;
GLTexture tex;
void setup() {
size(640, 480, GLConstants.GLGRAPHICS);
cam = new GSCapture(this, 640, 480);
// Use texture tex as the destination for the camera pixels.
tex = new GLTexture(this);
cam.setPixelDest(tex);
cam.play();
/*
// You can get the resolutions supported by the
// capture device using the resolutions() method.
// It must be called after creating the capture
// object.
int[][] res = cam.resolutions();
for (int i = 0; i < res.length; i++) {
println(res[i][0] + "x" + res[i][1]);
}
*/
/*
// You can also get the framerates supported by the
// capture device:
String[] fps = cam.framerates();
for (int i = 0; i < fps.length; i++) {
println(fps[i]);
}
*/
}
void captureEvent(GSCapture cam) {
cam.read();
}
void draw() {
// If there is a new frame available from the camera, the
// putPixelsIntoTexture() function will copy it to the
// video card and will return true.
if (tex.putPixelsIntoTexture()) {
image(tex, 0, 0, width, height);
}
}
I am not able to captured into Processing from my IIDC FireWire Video/ DVCPRO HD (1080i50) camera.
When I open Photobooth or any other programme it will recognise the DV camera connected through the Firewire,
but in Processing, instead the only camera it recognizes is the integrated webcam of my computer Buiilt-in_isight.
The DVD cam is read by Quick time version 10 with no problem and other programes (final cut, iMovie, etc...)
My operating system,: Mac ox 10.6.8
My camera is a sony full HD 1080.
I'm using Processing 1.5.1 and GSVideo 0.9 also I've tested with GSVideo-20110709-macosx-leo32 with not luck...
Can this be an alternative:
I was wondering if there is any way to add to the code to disconect the Buiilt-in_isight and call for the DV cam instead? The Mac doesn't have a straight forward way to disconnect Buiilt-in_isight ...
I am not able to write the code to test it....
Thanks in advance. I am a bit desperate to find a solution...
Below more information on the code I am using.
This is my String[] devices = Capture.list();
The option should be [1] "DVCPRO HD (1080i50)" but I tried to replace all the different options that appears and none of them works.
[0] "DV Video"
[1] "DVCPRO HD (1080i50)"
[2] "DVCPRO HD (1080i60)"
[3] "DVCPRO HD (720p25/50)"
[4] "DVCPRO HD (720p60)"
[5] "Google Camera Adapter 0"
[6] "Google Camera Adapter 1"
[7] "IIDC FireWire Video"
[8] "USB Video Class Video"
When it Opens the settings page for this capture device all of them appeared in light grey and the only that shows in black is Buiilt-in_isight.
I've tried various Capture codes including GSVideo with no luck.
Below 2 of the codes I've used without luck:
import processing.video.*;
Capture cam;
void setup() {
size(640, 480);
cam = new Capture(this, 320, 240);
String[] devices = Capture.list();
println(devices);
// Change devices[0] to the proper index for your camera.
//cam = new Capture(this, width, height, devices[0]);
// Opens the settings page for this capture device.
cam.settings();
}
void draw() {
if (cam.available() == true) {
cam.read();
image(cam, 160, 100);
}
}
===================
This is the code GSV
import processing.opengl.*;
import codeanticode.glgraphics.*;
import codeanticode.gsvideo.*;
GSCapture cam;
GLTexture tex;
void setup() {
size(640, 480, GLConstants.GLGRAPHICS);
cam = new GSCapture(this, 640, 480);
// Use texture tex as the destination for the camera pixels.
tex = new GLTexture(this);
cam.setPixelDest(tex);
cam.play();
/*
// You can get the resolutions supported by the
// capture device using the resolutions() method.
// It must be called after creating the capture
// object.
int[][] res = cam.resolutions();
for (int i = 0; i < res.length; i++) {
println(res[i][0] + "x" + res[i][1]);
}
*/
/*
// You can also get the framerates supported by the
// capture device:
String[] fps = cam.framerates();
for (int i = 0; i < fps.length; i++) {
println(fps[i]);
}
*/
}
void captureEvent(GSCapture cam) {
cam.read();
}
void draw() {
// If there is a new frame available from the camera, the
// putPixelsIntoTexture() function will copy it to the
// video card and will return true.
if (tex.putPixelsIntoTexture()) {
image(tex, 0, 0, width, height);
}
}
1