-
Notifications
You must be signed in to change notification settings - Fork 10
Compile arm64 on Ubuntu-18.04 64bit from Source Kurento/gstreamer & Kurento/gst-plugins-base gstreamer-1.5 vs gstreamer-1.8 #450
Comments
Do not confuse "gstreamer-1.5" as a package name, with "1.8" as a version number. I guess our GStreamer forks contain "1.5" in their names because originally they were forked from GStreamer 1.5.x, but with time they were updated and currently they are based on the 1.8.x version of Gstreamer. Similarly, you'll notice that on Ubuntu the packages are called "gstreamer-1.0", even though the actual version is 1.14 (for Ubuntu 18.04). In order to build each of the Kurento forks, you need previously build all its dependencies. Here you have a nice graph where the dependency tree can be checked: You should be able to use Note that for the upcoming Kurento 7 we are working to drop our fork of GStreamer, and instead use the version that is provided by the operating system: Also note that it was a long time ago that we dropped the old package names including the "6" in the name. For example, it was "kms-core-6.0" and "kurento-media-server-6.0", but since a couple years ago that became "kms-core" and "kurento-media-server". If you are following instructions that work with version 6.6, that's already "prehistoric" :-) Last note, we've made it easier to build KMS from sources (on the supported platforms) by writing an all-in-one build script (kms-build-run), so maybe is still is useful for you even in other plaftorms: Build from sources. |
Notice how the build dependencies for every project are codified in the file |
Hello Juan, Thank you for your quick response. As you suggested, .deb files were built. However, I was unable to build gst-plugins-bad (also openh264-gst-plugin which seems to build gst-plugins-bad as shown below). Therefore, kms-core could not be built. Can you explain how to build gst-plugins-bad? The file libgstopenh264.so seems to be missing. The dependencies shown in https://doc-kurento.readthedocs.io/en/latest/dev/dev_guide.html#code-repositories were followed to build .deb files in this order:
--- openh264-gst-plugin information not understood start --- https://github.com/Kurento/openh264-gst-plugin/blob/master/configure
https://github.com/Kurento/openh264-gst-plugin/tree/master/debian Build method In order to build the OpenH264 GStreamer plugin, this project contains a './configure' file that will download and build 'gst-plugins-bad' while ensuring that OpenH264 is already installed in the system. --- openh264-gst-plugin information not understood end ---
... Running tests...
--- kms-core "dpkg-buildpackage -b -rfakeroot -us -uc --no-check-builddeps" output end --- |
openh264 needs to be already installed before gst-plugins-bad is built. When i gst-plugins-bad is preparing to build, it does some autodetection checks, and enables or disables some codecs depending on what it sees available in the system. So, if OpenH264 is not available, gst will not build the libgstopenh264 library. So the order would be: 1) openh264, 2) gst-plugin-bad. Have a look at the repositories dependency graph: https://doc-kurento.readthedocs.io/en/latest/dev/dev_guide.html#code-repositories On the other hand, openh264-gst-plugin is only needed if you are building the |
Old Kurento fork of GStreamer 1.8 (packages named "gstreamer1.5") are dropped for Kurento 7, and instead now it will just use the GStreamer that is available in the system (note only GStreamer 1.16 from Ubuntu 20.04 has been tested) |
Prerequisites
[x ] I have read the SUPPORT document
[ x] I have checked the Troubleshooting Guide
[ x] I have tested with the latest version of Kurento
Issue description
When compiling from the latest source from https://github.com/Kurento/gstreamer, it appears as if gstreamer-1.5 is being installed instead of gstreamer-1.8:
git clone https://github.com/Kurento/gstreamer.git
cd gstreamer
grep -rin 'gstreamer-1.5' . (see several output lines below)
./gstreamer.doap:167:
./plugins/tracers/Makefile:309:GETTEXT_PACKAGE = gstreamer-1.5
./plugins/Makefile:274:GETTEXT_PACKAGE = gstreamer-1.5
When compiling from the latest source from https://github.com/Kurento/gst-plugins-base, when "./autogen.sh" is run the following error message appears:
checking for GST... no
configure: No package 'gstreamer-1.5' found
configure: error: no gstreamer-1.5 >= 1.8.0 (GStreamer) found
configure failed
I have been following an English translation of the post dated 2020-02-14, https://bbs.huaweicloud.com/blogs/147677, to compile KMS on a different arm64 machine, the RPi4 running Ubuntu-18.04 64bit.
Until step "2.3.11 Compile and install gst-plugins-base" there have been no issues.
Questions:
What version of gstreamer is required to compile from source?
What version of kms should be specified on the "git checkout kms6.6.0" command when compiling from source? The post dated 2020-02-14, https://bbs.huaweicloud.com/blogs/147677 uses "git checkout kms6.6.0", even though kms6.6.0 is dated.
If appropriate, we can modify https://github.com/Kurento/gstreamer or https://github.com/Kurento/gst-plugins-base if we know what version of gstreamer is required.
Context
This has stopped the effort to compile KMS from source for the arm64 RPi4 running Ubuntu-18.04 64bit which is intended to provide a low cost solution for private video conferenceing using KMS and OpenVidu.
Since it appears that arm64 is not supported for .deb or docker for KMS and OpenVidu, compiling from source appears to be the only method available to use KMS and OpenVidu on the arm64 RPi4 running Ubuntu-18.04 64bit.
How to reproduce?
Expected & current behavior
(Optional) Possible solution
Environment info
INFO: Kurento Media Server
INFO: Application Server
INFO: End-user clients
Version details
The text was updated successfully, but these errors were encountered: