Page 2 of 3

Re: GStreamer 1.0

Posted: Mon May 20, 2013 11:22 am
by nickon314
Arrgh, more trouble.
This time trying to build gst-omx.

I'm using this command:

LDFLAGS='-L/opt/vc/lib' CPPFLAGS='-I/opt/vc/include -I/opt/vc/include/IL -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux' ./autogen.sh --with-omx-target=rpi

But, it errors with this message:

configure: using GStreamer Base Plugins in /usr/local/lib/gstreamer-1.0
checking for GST_EGL... configure: error: Package requirements (gstreamer-egl-1.0) were not met:

No package 'gstreamer-egl-1.0' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables GST_EGL_CFLAGS
and GST_EGL_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

configure failed



Regards

Nick

Re: GStreamer 1.0

Posted: Mon May 20, 2013 11:27 am
by fbutler
nickon314 wrote:Arrgh, more trouble.
This time trying to build gst-omx.

I'm using this command:

LDFLAGS='-L/opt/vc/lib' CPPFLAGS='-I/opt/vc/include -I/opt/vc/include/IL -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux' ./autogen.sh --with-omx-target=rpi

But, it errors with this message:

configure: using GStreamer Base Plugins in /usr/local/lib/gstreamer-1.0
checking for GST_EGL... configure: error: Package requirements (gstreamer-egl-1.0) were not met:

No package 'gstreamer-egl-1.0' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables GST_EGL_CFLAGS
and GST_EGL_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

configure failed



Regards

Nick
Nick,
Given the issues you are seeing I would seriously suggest that you give up on your current build process and try a fresh approach using my script. I know that it will take several hours to run, however it looks like you could spend a lot more time than that trying to debug your current build process.

Re: GStreamer 1.0

Posted: Mon May 20, 2013 4:21 pm
by nickon314
I'm still hitting the same problem though.

when building gst-omx it complains that package gstreamer-egl-1.0 isn't installed.
But, I think that is supposed to be installed by gst-plugins-bad .
But, I see that gst-plugins-bad has installed something called eglgles - is that the same thing? Probably not - but it looks like it too relies on egl being installed, but eglgles has installed ok (I think).

So, where or what is gstreamer-egl-1.0, and how do I get it installed? . That's my current problem.

Regards

Nick

Re: GStreamer 1.0

Posted: Mon May 20, 2013 5:03 pm
by fbutler
nickon314 wrote:I'm still hitting the same problem though.
So, where or what is gstreamer-egl-1.0, and how do I get it installed? . That's my current problem.
I'm now confused. Have you used my script for this build or just selected parts of it? Are there any other changes that you did as part of your previous build process which you have not undone before starting a fresh build?
I believe it may be referring to this file: /usr/local/lib/pkgconfig/gstreamer-egl-1.0.pc
Does that file exist on your system ?
I believe it should be installed as part the gst-plugins-bad install.
If you use the export command does it show a line with

Code: Select all

declare -x LD_LIBRARY_PATH="/usr/local/lib/"
And did you build gst-plugins-bad using:

cd gst-plugins-bad
export LD_LIBRARY_PATH=/usr/local/lib/ path
LDFLAGS='-L/opt/vc/lib' CPPFLAGS='-I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux' ./autogen.sh
make CFLAGS+="-Wno-error"
sudo make install

Re: GStreamer 1.0

Posted: Tue May 21, 2013 5:31 am
by nickon314
fbutler wrote:
nickon314 wrote:I'm still hitting the same problem though.
So, where or what is gstreamer-egl-1.0, and how do I get it installed? . That's my current problem.
I'm now confused. Have you used my script for this build or just selected parts of it? Are there any other changes that you did as part of your previous build process which you have not undone before starting a fresh build?
I believe it may be referring to this file: /usr/local/lib/pkgconfig/gstreamer-egl-1.0.pc
Does that file exist on your system ?
I believe it should be installed as part the gst-plugins-bad install.
If you use the export command does it show a line with

Code: Select all

declare -x LD_LIBRARY_PATH="/usr/local/lib/"
And did you build gst-plugins-bad using:

cd gst-plugins-bad
export LD_LIBRARY_PATH=/usr/local/lib/ path
LDFLAGS='-L/opt/vc/lib' CPPFLAGS='-I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux' ./autogen.sh
make CFLAGS+="-Wno-error"
sudo make install
Hi,
It's not working. I cleared out all my local files - and used your script again.
It's doesn't work - still failing with GST_EGL:


checking for GST_EGL... configure: error: Package requirements (gstreamer-egl-1.0) were not met:

I checked the whole file system and that .pc file isn't anywhere.
I can send you the build_gstreamer.log if you want?

Regards

Nick

Re: GStreamer 1.0

Posted: Tue May 21, 2013 5:48 am
by fbutler
nickon314 wrote: Hi,
It's not working. I cleared out all my local files - and used your script again.
It's doesn't work - still failing with GST_EGL:


checking for GST_EGL... configure: error: Package requirements (gstreamer-egl-1.0) were not met:

I checked the whole file system and that .pc file isn't anywhere.
I can send you the build_gstreamer.log if you want?

Regards

Nick
Clearly there is something different in our setups that is causing the issue. I'll DM you with my email address so that you can send me the log

Re: GStreamer 1.0

Posted: Wed May 22, 2013 8:12 am
by nickon314
OK,
It was suggested that I try to do update and upgrade,
sudo apt-get update
sudo apt-get upgrade

But, I had to add --fix-missing to the end of the 'upgrade'.

Now, I have a kernel 3.6.11+ #452, dated May 17.

Then, I ran the gstreamer install script shown earlier in this trail.

Things look much better now, gst-inspect-1.0 shows that I have 193 plugins and 1053 features.
But, also 3 blacklisted.
The 3 blacklisted ones are:
libgstomx.so
libgstvideoparsesbad.so
libgstrtpmux.so

I guess I next need to get libgstomx.so out of the blacklist somehow?!?!


Regards

Nick

Re: GStreamer 1.0

Posted: Wed May 22, 2013 8:25 am
by fbutler
nickon314 wrote:I guess I next need to get libgstomx.so out of the blacklist somehow?!?!
From memory the most common reason for this is GST_OMX_CONFIG_DIR not been defined correctly. What does your .profile look like? Have you done something like the following to setup your environment?

cd $HOME
echo -e \\n# Gstreamer environment >> .profile
echo export GST_PLUGIN_PATH=/usr/local/lib/gstreamer-1.0/ >> .profile
echo export GST_OMX_CONFIG_DIR=/usr/local/etc/xdg/ >> .profile
echo export LD_LIBRARY_PATH=/usr/local/lib/ >> .profile
. ./.profile

rm ~/.cache/gstreamer-1.0/registry.armv6l.bin

Re: GStreamer 1.0

Posted: Wed May 22, 2013 8:59 am
by nickon314
OK,
I've now done that, to my .profile. And, now gst-inspect-1.0 shows 193 plugins, 971 features.
And, 5 are now blacklisted (previously was 3).

The blacklisted ones are:
libgstomx.so
libgstrtp.so
libgstaudiofx.so
libgstrtpmux.so
libgstvideoparsersbad.so

Regards

Nick

Re: GStreamer 1.0

Posted: Wed May 22, 2013 9:04 am
by nickon314
When I run gst-inspect-1.0 I see this line:

undefined symbol: gst_mpeg_video_meta_api_get_type

That doesn't look good :(

Regards

Nick

Re: GStreamer 1.0

Posted: Wed May 22, 2013 9:10 am
by fbutler
nickon314 wrote:OK,
I've now done that, to my .profile. And, now gst-inspect-1.0 shows 193 plugins, 971 features.
And, 5 are now blacklisted (previously was 3).

The blacklisted ones are:
libgstomx.so
libgstrtp.so
libgstaudiofx.so
libgstrtpmux.so
libgstvideoparsersbad.so
I wouldn't have expected that result. :?
Did you do the rm ~/.cache/gstreamer-1.0/registry.armv6l.bin to clear the plugin cache?

Re: GStreamer 1.0

Posted: Wed May 22, 2013 9:15 am
by nickon314
Yes, I did that.


Nick

Re: GStreamer 1.0

Posted: Wed May 22, 2013 9:23 am
by fbutler
nickon314 wrote:Yes, I did that.
:? So near, and yet so far :-) The first thing I would do is reboot the Pi and run gst-inspect-1.0 again just to ensure that the environment is fully set up and works from boot.

Re: GStreamer 1.0

Posted: Wed May 22, 2013 9:56 am
by nickon314
Do you know which library holds the code for gst_mpeg_video_meta_api_get_type ?

'nm' shows that it's 'undefined' in libgstvideoparsersbad.so, so it must be in another one.

I can't find it.


Regards

Nick

Re: GStreamer 1.0

Posted: Wed May 22, 2013 10:18 am
by fbutler
nickon314 wrote:Do you know which library holds the code for gst_mpeg_video_meta_api_get_type ?

'nm' shows that it's 'undefined' in libgstvideoparsersbad.so, so it must be in another one.

I can't find it.
It's defined in gst-plugins-bad/gst-libs/gst/codecparsers/gstmpegvideometa.c

Re: GStreamer 1.0

Posted: Wed May 22, 2013 10:30 am
by nickon314
I still think my system is screwed up.

In /usr/local/lib, I have two similar libraries:

libgstcodecparsers-1.0.so.0.2.0
libgstcodecparsers-1.0.so.0.6.0

The 0.2.0 version contains that missing function mentioned above, and the other lib (0.6.0) doesn't .

It looks like multiple attempts at installing this gstreamer has installed two sets of libraries !!??!?!

Think I need to go back to a completely fresh system :(


Regards

Nick

Re: GStreamer 1.0

Posted: Wed May 22, 2013 10:37 am
by fbutler
nickon314 wrote:Think I need to go back to a completely fresh system :(
It does sound like that would be the best option :-(

Re: GStreamer 1.0

Posted: Wed May 22, 2013 10:58 am
by fbutler
nickon314 wrote:Think I need to go back to a completely fresh system :(
If you are getting fed up with the amount of time it takes to recompile the libraries, you could always use Defiant's pre-compiled packages after going back to a fresh system. There's a blog post about using them here:
http://theiopage.blogspot.co.uk/2013/04 ... -with.html

Re: GStreamer 1.0

Posted: Thu May 23, 2013 6:33 am
by nickon314
Hi,
Things look much better now after starting again from scratch.
My problems must have been caused by trying to get gstreamer-1.0 working after having no success with gstreamer-0.10 .
Anyway, I now have gstreamer-1.0 installed, and gst-inspect-1.0 shows that there are no blacklisted plugins.

Now, I can start to look at the DVB-T USB stick.

Thanks all.


Regards

Nick

Re: GStreamer 1.0

Posted: Sun Jul 07, 2013 7:54 am
by Maximus5684
I wanted to mention that your install script is awesome (Thanks!) but I found a small issue with it (and a second, larger issue that I'll get to in a second). The small issue is that LD_LIBRARY_PATH is only set prior to building gst-plugins-bad and not earlier in the script. After looking at my install log carefully, I found that gst-plugins-base had built correctly up to the point of compiling the documentation. During that section of the make, it borked. Even though the plugins actually built and installed correctly afterward, the make and make install do not complete correctly (at least on my Pi) without LD_LIBRARY_PATH set before make-ing gst-plugins-base.

My second issue is probably more difficult to diagnose. I'm getting an internal compiler error when building gst-libav. I think it's probably because it's running out of memory but I've tried using a 224/32 split and it still fails with the same error:

Code: Select all

libavcodec/h264.c: In function ‘decode_slice_header’:
libavcodec/h264.c:3006:35: warning: to be safe all intermediate pointers in cast from ‘uint8_t **’ to ‘const uint8_t **’ must be ‘const’ qualified [-Wcast-qual]
libavcodec/h264.c: In function ‘fill_filter_caches_inter’:
libavcodec/h264.c:3361:34: warning: initialization from incompatible pointer type [enabled by default]
libavcodec/h264.c:3376:38: warning: initialization from incompatible pointer type [enabled by default]
libavcodec/h264.c:3409:30: warning: initialization from incompatible pointer type [enabled by default]
gcc: internal compiler error: Killed (program cc1)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.6/README.Bugs> for instructions.
make[5]: *** [libavcodec/h264.o] Error 4
make[5]: Leaving directory `/home/pi/packages/gstreamer-1.x/gst-libav/gst-libs/ext/libav'
make[4]: *** [all-local] Error 2
make[4]: Leaving directory `/home/pi/packages/gstreamer-1.x/gst-libav/gst-libs/ext'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/pi/packages/gstreamer-1.x/gst-libav/gst-libs/ext'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/pi/packages/gstreamer-1.x/gst-libav/gst-libs'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/pi/packages/gstreamer-1.x/gst-libav'
make: *** [all] Error 2
Has anyone seen this and, if so, do they have a solution?

Re: GStreamer 1.0

Posted: Sun Jul 07, 2013 10:23 am
by Defiant
May I ask for what you need gst-libav for? The Pi is usually too slow to use them.

However you should be able to pin the package from jessie.

Re: GStreamer 1.0

Posted: Sun Jul 07, 2013 6:04 pm
by Maximus5684
I was planning to use it for ffdec_h264. However, I may be going about what I need the wrong way. I need to take the output from raspivid (h264 YUV) and simply turn it into a raw RGB stream. I assumed h264 decoding was necessary for that but maybe I just need parsing - not sure. Can you suggest a pipeline for what I'm trying to do?

Re: GStreamer 1.0

Posted: Sun Jul 07, 2013 6:24 pm
by Maximus5684
Also, for anyone who encounters the above compiler problem, it apparently only occurs with gcc-4.6. I installed gcc-4.4 and ran:

Code: Select all

make CC=gcc-4.4
and everything worked correctly. This is apparently a known (but not fixed) bug with this version of gcc.

Re: GStreamer 1.0

Posted: Sun Jul 07, 2013 6:53 pm
by Defiant
If all you want is to decode h264, why don't you use the omxh264dec element?

Re: GStreamer 1.0

Posted: Mon Jul 08, 2013 1:05 pm
by danversj
Hi,

I'm looking to revisit an idea that a few people have had over the past year - to turn XBMC on a Raspberry Pi into a kind-of Slingbox-type device. I'm new to gstreamer and doing graphics stuff on the Pi but have played with FFMPEG for a few years now. To create the "slingbox" I'm thinking that one way of implementing this would be to take the XBMC framebuffer output and pipe it into gstreamer's omxh264dec element.

I don't know if gstreamer can access the framebuffer or what the window manager is sending to the framebuffer. I know XBMC on the Pi doesn't use X11 (or full X11) so the ximagesrc isn't probably going to work (I have tried). Is there another way of intercepting or redirecting the video that would normally get sent to the HDMI or composite output?

I know gstreamer can take a live MPEG2 stream (as a http source) from tvheadend and output it as h264 to a tcp sink (see http://www.raspberrypi.org/phpBB3/viewt ... 82#p383182). It would be nice to see the XBMC gui "desktop" and playback of video as a h264 stream. I know it wouldn't necessarily look great and would be laggy to control, but that's no so important to me. I'd just like to access my home live DVB tv streams from interstate on my phone or hotel room TV. :)