Page 2 of 2

Re: gstreamer 1.4 / gst-omx 1.2

Posted: Thu Dec 22, 2016 4:45 pm
by Swap_File
Good news, Gstreamer 1.10.2 works with hardware scaling and glimagesink on the Pi. 1.4.4 is still included by default with Jessie, but using this script you can compile 1.10.2 yourself.

https://gist.github.com/sphaero/02717b0b35501ad94863

An example pipeline would look like:
gst-launch-1.0 videotestsrc ! capsfilter caps='video/x-raw,width=320,height=240' ! glupload ! glcolorscale ! capsfilter caps='video/x-raw(memory:GLMemory),width=1280,height=720' ! glimagesink

I've still got a few quirks with full 1080p output flickering, but 720p works fine now, and CPU usage is nice and low. I see 15% usage in the above example. As a comparison, video output without scaling is at around 10%. With software scaling CPU usage is 90%+ with dropped frames.

Re: gstreamer 1.4 / gst-omx 1.2

Posted: Thu Dec 22, 2016 4:59 pm
by gkreidl
Swap_File wrote:Good news, Gstreamer 1.10.2 works with hardware scaling and glimagesink on the Pi. 1.4.4 is still included by default with Jessie, but using this script you can compile 1.10.2 yourself.

https://gist.github.com/sphaero/02717b0b35501ad94863

An example pipeline would look like:
gst-launch-1.0 videotestsrc ! capsfilter caps='video/x-raw,width=320,height=240' ! glupload ! glcolorscale ! capsfilter caps='video/x-raw(memory:GLMemory),width=1280,height=720' ! glimagesink

I've still got a few quirks with full 1080p output flickering, but 720p works fine now, and CPU usage is nice and low. I see 15% usage in the above example. As a comparison, video output without scaling is at around 10%. With software scaling CPU usage is 90%+ with dropped frames.
Did you really test gst-omx? All versions I have compiled so far except for 1.0 didn't work at all.

Re: gstreamer 1.4 / gst-omx 1.2

Posted: Thu Dec 22, 2016 5:23 pm
by Swap_File
OMX compiles perfectly for me.

Test pipeline:
gst-launch-1.0 filesrc location=/home/pi/SampleVideo_720x480_5mb.mp4 ! qtdemux name=dmux ! queue ! h264parse ! omxh264dec ! glimagesink dmux. ! queue ! aacparse ! avdec_aac ! audioconvert ! audio/x-raw,channels=2 ! alsasink device=hw:0

It was just released on November 29th.

"GStreamer OpenMAX IL plugin

The last gst-omx release, 1.2.0, was in July 2014. It was about time to get a new one out with all the improvements that have happened in the meantime. From now on, we will try to release gst-omx together with all other modules.

This release features a lot of bugfixes, improved support for the Raspberry Pi and in general improved support for zerocopy rendering via EGL and a few minor new features.

At this point, gst-omx is known to work best on the Raspberry Pi platform but it is also known to work on various other platforms. Unfortunately, we are not including configurations for any other platforms, so if you happen to use gst-omx: please send us patches with your configuration and code changes!"

Re: gstreamer 1.4 / gst-omx 1.2

Posted: Thu Dec 22, 2016 9:26 pm
by gkreidl
Swap_File wrote:OMX compiles perfectly for me.

Test pipeline:
gst-launch-1.0 filesrc location=/home/pi/SampleVideo_720x480_5mb.mp4 ! qtdemux name=dmux ! queue ! h264parse ! omxh264dec ! glimagesink dmux. ! queue ! aacparse ! avdec_aac ! audioconvert ! audio/x-raw,channels=2 ! alsasink device=hw:0

It was just released on November 29th.

"GStreamer OpenMAX IL plugin

The last gst-omx release, 1.2.0, was in July 2014. It was about time to get a new one out with all the improvements that have happened in the meantime. From now on, we will try to release gst-omx together with all other modules.

This release features a lot of bugfixes, improved support for the Raspberry Pi and in general improved support for zerocopy rendering via EGL and a few minor new features.

At this point, gst-omx is known to work best on the Raspberry Pi platform but it is also known to work on various other platforms. Unfortunately, we are not including configurations for any other platforms, so if you happen to use gst-omx: please send us patches with your configuration and code changes!"
Release 1.2 never worked on the RPi.
Compiling never was a problem, but the resulting library didn't work. And one example tool chain doesn't prove that everything works.
You should also test if webkit3 video (epiphany, kweb3) still works.
I'm using it every day for real time transcoding and replacing the whole lot of libraries is dangerous stuff. But maybe I'll give it a try on one of my RPis (compiling and testing).

Re: gstreamer 1.4 / gst-omx 1.2

Posted: Fri Dec 23, 2016 12:47 am
by Swap_File
I don't run a GUI, everything I do is on Raspian Jessie Lite so I don't think I can easily test epiphany or kweb3 for you.

If you need any specific plugins or pipelines checked, let me know and I can give it a try with gst-launch-1.0.

Re: gstreamer 1.4 / gst-omx 1.2

Posted: Thu Feb 09, 2017 10:54 am
by woehrl
I was working with my own compile of GST 1.6, 1.7 and 1.8 using gst-omx and glimagesink. Those libraries are working fine in all our released systems, so yes: gst-omx works on the RPi. I'll give the 1.10 a try now as it contains a lot of improvements for the RPi. It IS time to replace those 1.4 libraries in the repo.

Even webkit works - see luca's blog about Qt builds:
http://thebugfreeblog.blogspot.de/

I'm pretty sure that GST 1.4.4 has NO advantage at all over more recent versions..