|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools | Rate Thread | Display Modes |
|
|
|
#1
|
||||
|
||||
|
Re: GRIP with USB Camera
I found my own problem. I should have read the error more carefully.
Code:
INFO: Loading file /home/lvuser/project.grip VIDEOIO ERROR: V4L2: Pixel format of incoming image is unsupported by OpenCV VIDEOIO ERROR: V4L: setting property #16 is not supported VIDIOC_STREAMON: Bad file descriptor VIDIOC_STREAMON: Bad file descriptor Jan 23, 2016 12:57:05 AM edu.wpi.grip.core.Source initializeSafely WARNING: Failed to initialize CameraSource java.io.IOException: A problem occurred trying to start the frame grabber for Webcam 0 |
|
#2
|
|||
|
|||
|
Re: GRIP with USB Camera
Quote:
|
|
#3
|
|||
|
|||
|
Re: GRIP with USB Camera
I am also trying to get my Microsoft LifeCam 3000-HD to work, but using RoboRealm. After using the FRC_CameraClient module, I get the error "Invalid Jpeg Format". It works fine when connecting directly to the PC. The only other discussion I have found about this is in this (http://www.roborealm.com/forum/index.php?thread_id=5472) RoboRealm thread:
"It seems that they are using jpeg images but with a couple bytes at the beginning of the stream that indicate size, fps, etc. Its not a standard stream format so we'll have to create something specific to handle these kinds of streams." Perhaps the RoboRio is formatting USB Webcam images specifically for the dashboard? Even if not, it seems to be an issue with the RoboRio, since other webcams are having this same issue. Later in that thread, however, the guy who was having issues said he was able to successfully get the image to come in right, but he doesn't really explain how. Edit: This (http://www.chiefdelphi.com/forums/sh...d.php?t=134404) thread details how the RoboRio handles USB Webcams. According to it, the images extracted from the webcam is missing a part of the normal JPEG header. While his modified camera viewer may not be useful, he also explains that the Intermediate Vision template will re-encode the images locally. Last edited by NickB : 22-01-2016 at 23:55. Reason: Found possible solution? |
|
#4
|
||||
|
||||
|
Re: GRIP with USB Camera
This defiantly seems to be the problem.
It seems to get closer if you don't start the camera in the code. It can at least find the camera this way but, it has extraneous data. Code:
VIDEOIO ERROR: V4L/V4L2: VIDIOC_S_CROP VIDEOIO ERROR: V4L: setting property #16 is not supported Corrupt JPEG data: 2 extraneous bytes before marker 0xd6 Corrupt JPEG data: 4 extraneous bytes before marker 0xd |
|
#5
|
|||
|
|||
|
Re: GRIP with USB Camera
Just got RoboRealm to pick up the USB Webcam image using the Intermediate Vision example program.
|
|
#6
|
||||
|
||||
|
Re: GRIP with USB Camera
GRIP has loads of potential to be a very powerful tool, I'd like to see if we (being the users of chief delphi) can get it working.
|
|
#7
|
|||
|
|||
|
Just curious if anyone has gotten GRIP to work on the RoboRIO using a USB camera. We have it running with the Axis IP camera, but the two MS lifecams we tried both throw that same error.
|
|
#8
|
|||
|
|||
|
Re: GRIP with USB Camera
GRIP on the roboRIO with our USB Lifecam 3000-HD works without camera error but an old Logitech USB camera from the junk box throws those same errors of a bad couple of bytes in each frame. An Axis M1011 IP camera with GRIP running on the driver station PC runs for about a minute then the image freezes. We might guess the setup of the camera isn't right but the documentation on how to set it up is sparse and there aren't really very many choices to be made anyway.
We are having severe startup problems but if GRIP can make it past the first few seconds after starting on the roboRIO it runs fine albeit a little slow. |
|
#9
|
||||
|
||||
|
Re: GRIP with USB Camera
Quote:
Do I still initialize the camera server when trying to use it with grip? Code:
CameraServer server = CameraServer.getInstance();
server.setQuality(50);
server.startAutomaticCapture("cam1");
|
|
#10
|
||||
|
||||
|
Re: GRIP with USB Camera
If you initialize the cameraserver in your robot program GRIP probably won't be able to access it. Usually only one application can access a camera at a time on Linux.
To get similar functionality as CameraServer, you can use the "Publish Video" operation in GRIP. |
|
#11
|
||||
|
||||
|
Re: GRIP with USB Camera
I think we are really close to getting this working!
What is setting property #16? We are getting this error on our deploy: Code:
Jan 27, 2016 1:53:36 AM edu.wpi.grip.core.Main start INFO: Loading file /home/lvuser/project.grip VIDEOIO ERROR: V4L/V4L2: VIDIOC_S_CROP VIDEOIO ERROR: V4L: setting property #16 is not supported Jan 27, 2016 1:53:40 AM edu.wpi.grip.core.Main start INFO: SUCCESS! The project is running in headless mode! |
|
#12
|
||||
|
||||
|
Re: GRIP with USB Camera
Quote:
This is completely harmless. Since we don't do anything to manually configure camera settings in GRIP, any properties that get set are just by OpenCV trying to set up some defaults. Is the project working otherwise? I noticed you have a SUCCESS message and no exceptions. |
|
#13
|
||||
|
||||
|
Re: GRIP with USB Camera
Quote:
Also, we have code that uses the NI camera support to switch the DS feed between multiple USB cameras...but we can't use it if GRIP is running. Is there some way or could a way be added for the robot code to feed images to GRIP instead of GRIP commandeering the camera? We are interested in GRIP but do not want to give up our existing camera server code. |
|
#14
|
|||
|
|||
|
Re: GRIP with USB Camera
Figured it out that the drivers of the camera had not been fully downloaded. Thanks for your help.
|
|
#15
|
||||
|
||||
|
Re: GRIP with USB Camera
Quote:
We're using a Logitech C920 USB, and were initially unable to get it directly working with GRIP running on a RPi2. Not too surprising, since that platform isn't not officially supported by GRIP. However, there's an awesome thread on Github with a lot of great community activity getting GRIP onto RPi2. With the info in that thread we were able to get that USB camera's feed published as an IP camera using mjpeg-streamer, which GRIP was then able to find and use on the RPi2, running Linux Arm. Might be something to try on the RoboRio? We haven't yet verified GRIP is publishing stuff to NetworkTables, we hope to verify that tonight. |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|