Problem with video grabbing and playing on Pandaboard ES

Hello!

I have been trying without any success to play movie files and grab video from webcam (ps3eye) on the Pandaboard, with ubuntu 11.10. I am using oF version of damiannz:
https://github.com/damiannz/openFrameworks/tree/damian-linuxarm7-softfp

I followed the instructions found here: https://sites.google.com/site/andrewssobral/pandaboard
Then I tried the movieGrabberExample and moviePlayerExample.

For the video grabbing, the problem seems to be related to v4l. The application is hanging during initGrabber. Also I realised that listDevices() is not giving any outputs.
Here is what I have when I run the app:

about to ofNotifySetup and Update
OF: OF_LOG_NOTICE: Probing devices with udev…
OF: OF_LOG_NOTICE: Found device :, getting capabilities…
OF: OF_LOG_WARNING: Error while probing v4l capabilities for /dev/v4l-subdev0: Invalid argument
OF: OF_LOG_NOTICE: Found device :, getting capabilities…
OF: OF_LOG_NOTICE: Detected v4l2 device: OMAP4 ISS CSI2a output
OF: OF_LOG_NOTICE: Driver: issvideo, version: 1
OF: OF_LOG_NOTICE: Capabilities: 0x04000001
OF: OF_LOG_NOTICE: Found device :, getting capabilities…
OF: OF_LOG_NOTICE: Detected v4l2 device: omap_vout
OF: OF_LOG_NOTICE: Driver: omap_vout, version: 196864
OF: OF_LOG_NOTICE: Capabilities: 0x04000002
OF: OF_LOG_NOTICE: Device /dev/video1 seems to not have the capture capability, (radio tuner?)
Removing it from device list.
OF: OF_LOG_NOTICE: Found device :, getting capabilities…
OF: OF_LOG_NOTICE: Detected v4l2 device: omap_vout
OF: OF_LOG_NOTICE: Driver: omap_vout, version: 196864
OF: OF_LOG_NOTICE: Capabilities: 0x04000002
OF: OF_LOG_NOTICE: Device /dev/video2 seems to not have the capture capability, (radio tuner?)
Removing it from device list.
OF: OF_LOG_NOTICE: Found device 1415:2000, getting capabilities…
OF: OF_LOG_NOTICE: Detected v4l2 device: USB Camera-B4.04.27.1
OF: OF_LOG_NOTICE: Driver: ov534, version: 196864
OF: OF_LOG_NOTICE: Capabilities: 0x05000001

For video playing, it seems to be related to Gstreamer.
Here is what I have.

window -> setupOpenGL
about to ofNotifySetup and Update

** (moviePlayer_debug:4329): WARNING **: gstvideo: failed to get caps of pad sink:sink
OF: OF_LOG_ERROR: GStreamer: cannot query width and height
about to glutMainLoop
Segmentation fault

I tried also with openCvExample, difference is that the application doesn’t crash but it still cannot open the video and print:

OF: OF_LOG_WARNING: not loaded

Does somebody where those errors could be coming from?

Cheers

Hi, Meach
maybe this not will help but it seems that the issue is related to GStreamer, right? looking in ofConstant.h :

//------------------------------------------------ capture
// check if any video capture system is already defined from the compiler
#if !defined(OF_VIDEO_CAPTURE_GSTREAMER) && !defined(OF_VIDEO_CAPTURE_QUICKTIME) && !defined(OF_VIDEO_CAPTURE_DIRECTSHOW) && !defined(OF_VIDEO_CAPTURE_ANDROID) && !defined(OF_VIDEO_CAPTURE_IPHONE)
#ifdef TARGET_LINUX

#define OF_VIDEO_CAPTURE_GSTREAMER

#elif defined(TARGET_OSX)

#define OF_VIDEO_CAPTURE_QUICKTIME

#elif defined (TARGET_WIN32)

// comment out this following line, if you’d like to use the
// quicktime capture interface on windows
// if not, we default to videoInput library for
// direct show capture…

#define OF_SWITCH_TO_DSHOW_FOR_WIN_VIDCAP

#ifdef OF_SWITCH_TO_DSHOW_FOR_WIN_VIDCAP
#define OF_VIDEO_CAPTURE_DIRECTSHOW
#else
#define OF_VIDEO_CAPTURE_QUICKTIME
#endif

#elif defined(TARGET_ANDROID)

#define OF_VIDEO_CAPTURE_ANDROID

#elif defined(TARGET_OF_IPHONE)

#define OF_VIDEO_CAPTURE_IPHONE

#endif
#endif

maybe should be modified adding a line like this:

#elif defined (TARGET_ARMV7L_GENERIC)

#define OF_VIDEO_CAPTURE_GSTREAMER

but don’t know if this make sense…

p.s.looking deeper: no, ithink the problem reside somewhere else, probably int gst implementation.

Hi kalwalt,

Thanks for your answer. Haven’t had time to try it yet, will do it this evening.

Also on the google.group for the Pandaboard, I found this topic which has guides (for Ubuntu 12.04 though): https://groups.google.com/forum/?fromgroups=#!topic/pandaboard/D2rL3yWG1wE

The one about OpenCv and kinect seems to suggest other packages to install for Video I/O along with GStreamer:

sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-
dev libxine-dev libv4l-dev libgstreamer0.10-dev
libgstreamer-plugins-base0.10-dev

  • some others dependencies

sudo apt-get install checkinstall gir1.2-gst-plugins-base-0.10 gir1.2-gstreamer-
0.10 libgstreamer-plugins-base0.10-dev libgstreamer0.10-dev libslang2-dev
libxine-dev libxine1-bin libxml2-dev

I think it can be worth checking it out :wink:

good to know! The link seems useful , post the result in the forum.
Cheers

Well, it didn’t help me at all. Still at the same position.

Also I realised that calling gstreamer-properties is giving me Gtk warnings and libv4l2 error, before hanging forever.
See below:

gstreamer-properties

(gstreamer-properties:1334): Gtk-WARNING **: Unknown property: GtkDialog.has-separator

(gstreamer-properties:1334): Gtk-WARNING **: Unknown property: GtkDialog.has-separator
gstreamer-properties-Message: Skipping unavailable plugin ‘artsdsink’
gstreamer-properties-Message: Skipping unavailable plugin ‘esdsink’
gstreamer-properties-Message: Skipping unavailable plugin ‘sunaudiosink’

(gstreamer-properties:1334): gstreamer-properties-WARNING **: gst_properties_gconf_set_string() error: Configuration server couldn’t be contacted: D-BUS error: Can’t overwrite existing read-only value: Value for `/system/gstreamer/0.10/default/videosink’ set in a read-only source at the front of your configuration path
gstreamer-properties-Message: Skipping unavailable plugin ‘v4lmjpegsrc’
gstreamer-properties-Message: Skipping unavailable plugin ‘qcamsrc’
gstreamer-properties-Message: Skipping unavailable plugin ‘v4lsrc’
libv4l2: error getting capabilities: Invalid argument

I will look in this direction and see if I find something then. I keep you posted :wink:

Hey all, I’m not sure if you’ve tried it yet, but there is a lot of embedded linux development happening over at https://github.com/openFrameworks-RaspberryPi/openFrameworks/wiki.- While it says raspberry pi, we are also doing pandaboard development in tandem. So, pandaboard should compile with all of the new features supported.

CB

thanks Backercp for this info! i m looking on your fork but not understood if video is supported. (playing video, grabbing video from a camera…) because i saw different things here https://github.com/openFrameworks-RaspberryPi/openFrameworks/wiki/Embedded-linux-Examples-compatibility-chart and in gist: https://gist.github.com/4159230 can you tell me more detailed info about gst issues or not?

hi kalwalt, honestly, I don’t know – the only thing I can recommend is to try it. I don’t have a Pandaboard but @arturoc has been testing everything on his and has reported that it is working.

I added the compatibility chart just a few days ago and it is nowhere near complete. So, it is not very reliable yet.

The branch is definitely still under heavy development so, be warned :slight_smile:

tanks for the info! i’m going to try it … so we’ll see what happens!

I added the compatibility chart just a few days ago and it is nowhere near complete. So, it is not very reliable yet.

The branch is definitely still under heavy development so, be warned :slight_smile:

Do you suggest the master or the develop branch?

develop-raspberrypi for sure. We haven’t updated the master in a few days. The develop branch should be stable at the moment.

ok i’m downloading it. I will inform you if i have news. anyways many thanks to you and the other people for this effort!

Thanks for the info barkercp, this sounds great! :slight_smile:
I will give it a try very soon as well.

But I have a question: what kind of architecture is this version of oF? soft or hard float?
Because I believe since me and kakwalt are developping on Ubuntu, we would need to use either 11.10 if soft float or 12.04 if hard float.

hi , i’m trying to set up the develop-raspberrypi OF with my PandaboardES. But with not so much lucky.
First, i launched the script compileOF.sh to build the OF libs but only the debug lib was builded.
Second, i launched the compilePG.sh but ended with undefined reference to various libs
third i copyied and past from scripts/linux/template config.make and Makefile in order to compile the videoPlayerExample and i got same result:

/usr/bin/ld: error: …/…/…/libs/tess2/lib/linuxarmv7l/libtess2.a(geom.o) uses VFP register arguments, bin/videoPlayerExample_debug does not
/usr/bin/ld: failed to merge target specific data of file …/…/…/libs/tess2/lib/linuxarmv7l/libtess2.a(geom.o)
/usr/bin/ld: error: …/…/…/libs/tess2/lib/linuxarmv7l/libtess2.a(mesh.o) uses VFP register arguments, bin/videoPlayerExample_debug does not
/usr/bin/ld: failed to merge target specific data of file …/…/…/libs/tess2/lib/linuxarmv7l/libtess2.a(mesh.o)
/usr/bin/ld: error: …/…/…/libs/tess2/lib/linuxarmv7l/libtess2.a(sweep.o) uses VFP register arguments, bin/videoPlayerExample_debug does not
/usr/bin/ld: failed to merge target specific data of file …/…/…/libs/tess2/lib/linuxarmv7l/libtess2.a(sweep.o)
/usr/bin/ld: error: …/…/…/libs/tess2/lib/linuxarmv7l/libtess2.a(dict.o) uses VFP register arguments, bin/videoPlayerExample_debug does not
/usr/bin/ld: failed to merge target specific data of file …/…/…/libs/tess2/lib/linuxarmv7l/libtess2.a(dict.o)
/usr/bin/ld: error: …/…/…/libs/tess2/lib/linuxarmv7l/libtess2.a(priorityq.o) uses VFP register arguments, bin/videoPlayerExample_debug does not
/usr/bin/ld: failed to merge target specific data of file …/…/…/libs/tess2/lib/linuxarmv7l/libtess2.a(priorityq.o)
collect2: ld returned 1 exit status
make: *** [bin/videoPlayerExample_debug] Error 1
walter@lolocalhost:~/openFrameworks-develop-raspberrypi/examples/video/videoPlayerExample$

note that i ommited part of the log. I will also open an issue on github.

I m running that on a PandaboardES with Ubuntu 11.10.

Hi there,

Did you try following the instructions for the Raspberry Pi?

https://github.com/openFrameworks-RaspberryPi/openFrameworks/wiki/Raspberry-Pi-Getting-Started

If you follow those instructions (which should work with Pandaboard), it may work better. The scripts have not been updated completely yet, so you have to do some things manually.

Additionally the Raspberry Pi branch has a new makefile system, which changes a few things.

Checkout the startup guide and let me know.

Also, if you post an issue over in that repository, @arturoc and other Pandaboard users may be able to give you help more quickly.

Cheers,
Christopher

Thanks @backercp !, i have already open an isuue here: https://github.com/openFrameworks-RaspberryPi/openFrameworks/issues/64 and arturo also answered.

that’s great. looking forward to seeing it working soon :wink:

i get it working! go here for details: https://github.com/openFrameworks-RaspberryPi/openFrameworks/issues/64

Same here, this is great!
Also, check in there to make work openCv as well: https://github.com/openFrameworks-RaspberryPi/openFrameworks/issues/18

Follow the instructions of jvcleave and then the openCvExample works like a charm!

i will check it! thanks!