video grabber run ok only videoinput lib,but not in OF examp

Hi !
I’m using picolo pro2 (PCI) to grabber. I’m using movieGrabber example, when it start, the example CMD inspector says :

***** VIDEOINPUT LIBRARY - 0.197 - TFW07 *****

choosing 0
SETUP: Setting up device 0
SETUP: Euresys PICOLO PRO2 sn/66764 - VID1
SETUP: Setting capture size to 384 by 288
SETUP: Media Type is YUY2 converted to RGB24
SETUP: Device 0 is ready, setup complete

That’s good, but I can see the video output in my screen … I have put right dimensions and right number device.

resume: All seems run ok , but all are black video…
pd: I try to inspect what’s happens and I’ve see that inside videoGrabber, never (VI.isFrameNew(device) are true… :frowning:

pd2: I try with another camera (firewire, webcam) and no problems…

Thanks a lot.

by ^^

So you have the PAL version of the hardware - hmm.
Could you try capturing at 640 480 and see if that does anything?

Also could you download this version of videoInput
http://muonics.net/school/spring05/vide-…-t0.199.zip

And inside of the videoInputSrcAndDemos/CWProject-videoDemo/ could you try running the exe and see if that captures for you?

If it doesn’t try and hit the ‘s’ key or the ‘a’ while the demo is running and it should bring up a settings menu. Sometimes you have to configure some settings to make sure it is grabbing from the right input (like composite instead of s-video) . You won’t see the video appear until you hit [okay]

Hi Theothore,

This frame grabber uses Euresys standard Filter for Directshow, with two native resolutions at 384x288 and 768x576.

I’ve tried capture at 640x480 and nothing.

I’ve tried you exec DemoVideo from 199 lib and run good! (like 197), but I can’t see settings menu (disappear immediately).

I’ve installed new lib 199 and no results compiling Dev project. (like 197), could be a problem from dev c++ ? Because in a previously project I had been using videoInput 197 with visual 2003 , drawing texture in Opencv, and I did not problems…

Thanks.

HI Theo!
I was trying several options to see reactions of my pal version hardware, at now the most important (may be) is a difference with VideoInput versions… with 0.194 I could access to the video and settings window, but with 0.199 isn’t possible access to settings window, but it’s possible to render image video with Opencv Drawing texture. (compiled in visual 2003).

I can’t know what happens, if i try with 0.194,0.195 and videoinput version in dev++ 4.9.9.2 because dev++ give 1 error VideoInput.cpp : `__uuidof’ undeclared (first use this function).

Thank you for all your effort :!:

HI

With OF0.02 the videoGrabber runs good, only have exit runtime error when exit program.

Any more have problems with any PCI VideoGrabber (PAL camera) with OF0.03 or OF0.04?
Are there any OF version with 0.195 VideoInput?

By

you should be able to switch libs (I think, don’t have them in front of me) - 0.04 comes with a later version of video input, but you can swap it with what works and recompile… when you recompile you probably want to “clean” your project - remove all the object code, and compile again…

take care!
zach

Hey - could you try redownloading 0.199 - there was a bug where the settings window wouldn’t appear - so maybe you are using the prefixed version - I should have upped the version number with the fix but I couldn’t make the 0.20 release so un-impressive :slight_smile:

Also could you post your console output? It should show me where things aren’t working.

Apart from the settings window does 0.199 work fine for you?

In 0.199 there is a setFormat option which allows you to say you want to use PAL explicitly - maybe that helps?

Theo

Hi,
Zack:
I was trying it, but there are different formats to use videoinputs with ofVideograbber and I’ve tried to use the old VideoInput 195 to create VideoInputLib.a and I got this error : `__uuidof’ undeclared (first use this function).

Theo:

  • I have installed and compiled the last VideoInput 0.199.
  • I have tried to set Format with all the possibilities and always says :
    –> SETUP: couldn’t set requested format
  • This is the output console:

***** VIDEOINPUT LIBRARY - 0.1990 - TFW07 ***

SETUP: Setting up device 0
SETUP: Euresys PICOLO PRO2 sn/66764 - VID1
SETUP: Setting capture size to 320 by 260
SETUP: Media Type is YUY2 converted to RGB24
SETUP: Capture callback set
SETUP: Device is setup and ready to capture.

  • The VideoImage only is black output. :frowning:

Thanks

Hi ,

Well…I was looking for difference with OF2_v190 and OF4_v199… and in OF4_v199 my code never enter inside grabFrame --> isframeNew

void ofVideoGrabber::grabFrame(){
if (bGrabberInited == true){
if (VI.isFrameNew(device)){
//NEVER HERE

But if you run the:

  
videoInput0.199/videoInputSrcAndDemos/CWProject-videoDemo/videoInput%20Debug.exe  

From the downloaded 0.199 - do you get an image?

Also in videoInput try

  
VI.setUseCallback(false);   

its another capture method.

Theo

Hi Theo,

1.- CW 199 demo… Yes, get images.

2.- I’ve use VI.setUseCallback(false); in initgrabber (Directshow First line), and…movieGrabber can’t setup config , and it hung up.

Why do I have to write this line of code?

Thnks
c*

Can you test something for me?

at the end of the class in testApp.h:

  
videoInput VI;   
ofTexture tex;  

in testApp::setup(){ add:

  
VI.setupDevice(0, 640, 480);   
tex.allocate( VI.getWidth(0), VI.getHeight(0), GL_RGB);  

in testApp::update(){ add:

  
  
if( VI.isFrameNew(0) )						  
{  
     tex.loadData( VI.getPixels(0, frame, true) , VI.getWidth(0), VI.getHeight(0),GL_RGB);  
}  

in testApp::draw(){ add:

  
tex.draw(0,0);  

Could you try this with and without the VI.isFrameNew check in testApp::update?
Could you try this with both 0.199 and also the regular VI that came with the openFrameworks download.

Thanks - it will help us figure out if it is a VI problem or an OF problem.

Thanks
theo

Is necessary use videoInput.cpp or enough with videoInputLib.a

At now, I can’t compile fine: movieGrabberExample\src\testApp.cpp no matching function for call to `ofTexture::loadData(bool, int, int, int)’

//add theo
if( VI.isFrameNew(0) )
{
tex.loadData( VI.getPixels(0, frame, true) , VI.getWidth(0), VI.getHeight(0),GL_RGB);
}

var frame is :
unsigned char * frame; (.h)
frame = new unsigned char[640*480*3]; ((setup) .cpp)

I’ve done probably something wrong, isn’t it?

pd: my framegrabber runs fine with (320,260) in v_190.

Thnks
c*

oh - sorry do:

  
  
if( VI.isFrameNew(0) )   
{   
 VI.getPixels(0, frame, true);  
 tex.loadData(  frame, VI.getWidth(0), VI.getHeight(0),GL_RGB);   
}   
  
  

well , I’ve tried, with and without [if( VI.isFrameNew(0) )] and with videoInput.cpp (199) and with videoInputLib.a from OF4 (199 and 197).

Always Black get images.

Thanks
c*

Do you have a color specified before you draw?

I realised you might need a

ofSetColor(0xFFFFFF);

before:

tex.draw(0,0);


If it is still black - are there any interesting console messages?

  • Do you have a color specified before you draw? yes
  • console messages interesting? no

only I can get image with 199 in codeWarriorDemo Example 199 (where, I get images, but can’t charge settings window). And using VideoInput 199 (with Visual Studio) out from OF, using other struct main program , like CWDemo…also I can’t charge settings window, and i have an error at first in fflush… then I can ignore and it works.

thanks

c*

Anyway, if I would want to buy another PCI frame grabber…any suggestion?

Hi Theo & Zach,and all.
Before anything else, Always, I had been working under Directshow…and I would want to ask about Quiktime ofVideoGrabber option… It’s developed to MAC computers or special frame grabbers or FirewireCams?
You know, I’'ve some troubles to use fine my frame grabber Euresys Picolo Pro in OF but I want to find the right method to use it fine, now, I think that only I can do is to test OF project with VideoInput lib under Visual Studio, using source main code like CWVideoInputDemo (while (1){captureFrame})… if this runs I will be very happy… any way, could you recommend me any tested solutions to use under OF? for example:

  • frame grabbers video captures (such as … )
  • Domestic firewire camera (such as Sony Firewire DV Cam)
  • Professional firewire camera (such as F0culus fw cams)

Thanks,
Best regards
Charli_e

about QT - QT on a pc is using direct show under the hood, so it’s not always easy to get it up and running. you will need a video digitizer to get the video in (such as winvdig) and doesn’t always work w/ all cards… you can check on their site to see what it works with.

it’s a bit hard to recommend specific capture cards, since there performance varies from machine to machine. Also, many of the cards I like are a bit old (since I developed preferences setting up exhibits for a few years now). Many cards are now on to digital tv signals, and don’t have much experience w/ them.

I have had good luck with hauppage wintv, and wintv go. I have bad luck with capture cards that are very, very fancy (and advertise themselves as allowing timeshifting, etc). If they allow you to watch live tv, then you will be good. I have also had good experiences with USB capture cards, like avermedia USB 300 (discontinued)

for firewire, had good luck with fire-i and unibrain cameras. their support is great.

for high end stuff, people I know really love the imaging source cameras, especially the usb 2.0 cams or the fw ones. people also say good things about their capture cards (high end) and capture boxes (usb and fw)

hope that helps!
zach