Glvideo library on ubuntu 20.10

Hi, I’m trying glvideo library on ubuntu mate 20.10 but the bug is still that there are compiled for gstreamer 1.8 and ubuntu use version 1.18.
There is a way to work around or another library is ok ?
Thanks for help

the project is archived so unfortunately there is little chance that you get an update

but you can try compiling it by yourself or I suggest using the “vanilla” video library if performance is not an issue for you.

I’d concur on using the “vanilla” video library. Performance in general is not too bad, although there are currently issues with stopping and starting playback when using P2D / P3D. If you want to use full GStreamer and Processing OpenGL together, then best match is still PraxisLIVE! :smiley:

I have a feeling that the OpenGL support in GStreamer may have changed too much to make just compiling GLVideo against a later GStreamer viable.

You can also bug me to get around to adding the GL context support in to gst1-java-core so that the standard Video library can do the same. There are a number of partial implementations around already, just needs me to find some time amongst the existing workload to get it fixed up and in there!

EDIT - clarify GLVideo

1 Like

Ok thanks, I’m ready for vanilla. Where can I find the link with the operation to compile ?

Just use Video library v2. The comment about compilation was in relation to @micuat suggestion about compiling GLVideo.

Now with the Video library v2 I’ve got this error in Processing 4 :

Processing video library using GStreamer 1.18.0
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f0ff2a88bc5, pid=5782, tid=5836
#
# JRE version: OpenJDK Runtime Environment AdoptOpenJDK (11.0.9.1+1) (build 11.0.9.1+1)
# Java VM: OpenJDK 64-Bit Server VM AdoptOpenJDK (11.0.9.1+1, mixed mode, tiered, compressed oops, g1 gc, linux-amd64)
# Problematic frame:
# C  [iHD_drv_video.so+0x173bc5]
#
# Core dump will be written. Default location: Core dumps may be processed with "/usr/share/apport/apport %p %s %c %d %P %E" (or dumping to /home/math/outils/processing-4.0a3/core.5782)
#
# An error report file with more information is saved as:
# /home/math/outils/processing-4.0a3/hs_err_pid5782.log
#
# If you would like to submit a bug report, please visit:
#   https://github.com/AdoptOpenJDK/openjdk-support/issues
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

Is the crash just using P2D / P3D, or does it happen with the default renderer too? Can you see if there is a native stack trace in that hs_err file? What video codec? It’s possible that the GPU codecs and the OpenGL renderer are not playing well together. I had a GStreamer project with JavaFX for a client a while back that had a similar problem. Might be able to point you at a workaround.

Without P2D, he said :

The version of GStreamer on your system (1.18.0) does not match the version this library was compiled against (1.8). This is very likely to cause issues. Consider compiling this library yourself, using the sources from https://github.com/gohai/processing-glvideo.git
GLVideo requires the P2D or P3D renderer.

(java:5253): GLib-CRITICAL **: 10:39:24.616: g_error_free: assertion 'error != NULL' failed
Make sure the following GStreamer packages are installed on the host system: gstreamer 1.x, gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-ffmpeg or gst-libav.
RuntimeException: Could not load GStreamer

That’s not Video library v2! That’s still GLVideo.

Still the same error with video library with P2D or not :

A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f8d75349bc5, pid=11770, tid=11819
#
# JRE version: OpenJDK Runtime Environment AdoptOpenJDK (11.0.9.1+1) (build 11.0.9.1+1)
# Java VM: OpenJDK 64-Bit Server VM AdoptOpenJDK (11.0.9.1+1, mixed mode, tiered, compressed oops, g1 gc, linux-amd64)
# Problematic frame:
# C  [iHD_drv_video.so+0x173bc5]
#
# Core dump will be written. Default location: Core dumps may be processed with "/usr/share/apport/apport %p %s %c %d %P %E" (or dumping to /home/math/outils/processing-4.0a3/core.11770)
#
# An error report file with more information is saved as:
# /home/math/outils/processing-4.0a3/hs_err_pid11770.log
#
# If you would like to submit a bug report, please visit:
#   https://github.com/AdoptOpenJDK/openjdk-support/issues
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

OK, so try and share the stack trace from inside this file.

This is likely a GStreamer bug - there’s a similar issue on their mailing list at the moment. If it’s that, it’s related to the GPU driver (iHD_drv_video.so) - also at iHD use results in segfault (#285) · Issues · GStreamer / gstreamer-vaapi · GitLab It’s a common issue, not just with GStreamer, from what I’ve seen.

If you don’t want to take the step in the link of changing video driver, or using the non-free variant (in Ubuntu repos), you could also try removing the gstreamer1.0-vaapi package, which should remove the crashing plugin.

Just sudo apt remove gstreamer1.0-vaapi and now it works
Thanks a lot, I was lost without you, there are expert on this forum.
Have a nice day !

1 Like

No problem! Glad you got it working. :smiley: