Where is webrtchttp to build for Raspbarian

I’m trying to get whepsrc available for PI. And unfortunately the plugin package isn’t available and has to be built.

Where is the webrtchttp sources to be able to build and a how to build. I spent 2 hours trying to find it and figure it out. Does it require building the entire project ?

Hello the webrtchttp is a part of the GStreamer Rust plugins. You can fetch the code from GStreamer / gst-plugins-rs · GitLab

Build instructions here - Building

Thanks. It’s still very vague. It documents how to build just one feature in it, so which feature name is it for whepsrc ? “gst-plugin-cdg”. Can it be built against the default debian packages for the rest ?

There is a meson build that isn’t documented. Is it easier to use meson, I see it has a build system for whepsrc.

I found a better build setup process as it’s missing all the requirements from that rep.

Updfate: this docker method for creating a cross compile deb which is exactly what I need. Almost worked but failed. have to research now.

docker run  -v .:/src:z --workdir /src ghcr.io/mopidy/gst-plugins-rs-build:1 /bin/bash entrypoint.sh armhf net/webrtchttp
docker: Error response from daemon: create .: volume name is too short, names should be at least two alphanumeric characters.
See 'docker run --help'.
make: *** [Makefile:17: build-armhf] Error 125
1 Like

there is another undocumented problem with that rs plugin project to continue further. It can’t find openssl headers.

 cargo:warning=build/expando.c:2:10: fatal error: openssl/opensslconf.h: No such file or directory

more here

It requires this in the dependencies

openssl = { version = "0.10", features = ["vendored"] }

But then it complains about this

The system library `gstreamer-webrtc-1.0` required by crate `gstreamer-webrtc-sys` was not found.

More info bullseye the version is 1.18.

> PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 pkg-config --libs --cflags gstreamer-webrtc-1.0 gstreamer-webrtc-1.0 >= 1.18

I’ve spent hours and failed to get this building. Its installing the correct packages in the Docker file. I think “libssl-dev:arm64” works around the ssl header issue but not webrtc.

 libgstreamer-plugins-base1.0-dev \
    libgstreamer-plugins-bad1.0-dev \
    # RPi 0 and 1 (armv6)
    gcc-arm-linux-gnueabihf \
    libgstreamer-plugins-base1.0-dev:armhf \
    libgstreamer-plugins-bad1.0-dev:armhf \
    # RPi 3, 4 and 5 (64-bit ARM)
    gcc-aarch64-linux-gnu \
    libgstreamer-plugins-base1.0-dev:arm64 \
    libgstreamer-plugins-bad1.0-dev:arm64 \
    #openssl needed for whepsrc
    openssl \
    libssl-dev \
    libssl-dev:arm64 \
    libnice \
    libnice:arm64 \

It seems it cant find either headers I still get these failures. An updated cross compile doc would be good.

 cargo:warning=build/expando.c:2:10: fatal error: openssl/opensslconf.h: No such file or directory