-
Notifications
You must be signed in to change notification settings - Fork 195
srtp/gnutls aren't included in gst-build, which makes it hard to build the demos with meson #2
Comments
I got a bit further: The problem was that Even installing it wasn't enough, I needed a newer version than Ubuntu 16.04 could provide. Some notes from myself:
However, now I'm hitting this error:
Not sure what to do about this |
Running with
Also, how can I fix it? |
Should there be output of Despite Doing Removing
So a newer version was needed. I downloaded version 0.3, installed it into a prefix, but got
Debugging further:
So I installed package After that, the I also had to patch diff --git a/ext/webrtcdsp/meson.build b/ext/webrtcdsp/meson.build
index 0bc53c5bd..41243cee0 100644
--- a/ext/webrtcdsp/meson.build
+++ b/ext/webrtcdsp/meson.build
@@ -8,7 +8,7 @@ webrtc_dep = dependency('webrtc-audio-processing', version : ['>= 0.2', '< 0.4']
if webrtc_dep.found()
gstwebrtcdsp = library('gstwebrtcdsp',
webrtc_sources,
- cpp_args : gst_plugins_bad_args,
+ cpp_args : gst_plugins_bad_args + ['-std=c++11'],
link_args : noseh_link_args,
include_directories : [configinc],
dependencies : [gstbase_dep, gstaudio_dep, webrtc_dep], When finally running
and adding the relevant path to the Nevertheless, I still got Uninstalling libnice as mentioned above (with
Looks like this approach doesn't work well for passing the 1629 (!) paths in Doing a quick split and sort on these, it also shows how each path is redundantly passed in 8 times :-/ And of course there's O(n²) quadratic appends going on in I hacked around the 8x duplication of paths using env['GST_PLUGIN_PATH'] = os.pathsep.join(list(set(env['GST_PLUGIN_PATH'].split(os.pathsep)))) A bit later I figured that the important bit was to add I confirmed this was the reason with:
And finally managed to launch using:
And I can see myself in the stream and the white ball circling on black background. Quite an effort to get this to work on Ubuntu 16.04. |
Apologies for how difficult it was to get things working, and thanks for your patience! We're working improving the meson build setup in gst-build to be more self-contained so this sort of thing isn't a problem. It was just merged, so thanks for testing and helping us find build issues. I'll work on fixing the problems you've pointed out. We're hoping that we can make things work better before the 1.13.1 pre-release, and things will definitely be easier once 1.14 is released and binaries are available (+ it reaches distros). |
Big thanks to @nh2 for your post. I just got the demo working, but would probably have given up long ago if I didn't have these notes to lead me in the right direction. Btw, one additional (Ubuntu 16.04) package I had to install to make it work was 'libsrtp-dev'. |
@nh2, huge thanks for sharing your adventure journals!
Downgrading to 0.44.1 helped -- got an error on C++11 stuff mentioned above, further path was the same. Now I'm stuck with the following: running demo app (via
I'm not sure why as I believe it should be reachable:
I will probably continue investigation tomorrow. Quite excited to have WebRTC support in GStreamer, and hoping it would work for me at some point (and for everyone after official release of course). |
Thanks to @nh2 ! I also got mine working. I built it with the gst-uninstalled tool. Before built everything, I downloaded libnice-0.1.14.tar.gz just like you did, and built it using "./configure --prefix=$HOME/gst/master/prefix" so that the gst-uninstalled tool can include this library to build other plugins. Then you should be able to run the ./webrtc-sendrecv --peer-id=PEER_ID directly. |
For anyone (like me) who hadn't considered cerbero. I found it considerably easier to build. Here's a working dockerfile: https://github.com/maxmcd/gstreamer-docker/blob/master/1.14/cerbero/Dockerfile On docker hub as: maxmcd/gstreamer:1.14-cerbero |
README.md now recommends using the binary releases and Cerbero, so what's left now is fixing the meson build. |
Upstream bug: https://bugzilla.gnome.org/show_bug.cgi?id=794864 |
I'm able to build and run the sample using gstreamer 1.14 release on mac. However when I build it on Mac OS high sierra both git-build and cerbero doesn't work. Cerbero almost works but cannot build libgstsoup because of some issue in intltool script where regex syntax error of literal { derailed the checking. git-build keeps complaining about bison even after installed using brew. thanks |
@xiaoyongaz if you have issues with cerbero or gst-build, please file them upstream at https://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer so that they can be fixed. |
thanks @nh2 maybe for some folks like me this
|
Hey, thanks for your work on this.
Could you make the running instructions a bit more concrete? E.g. how to precisely continue after having built gstreamer with
gst-build
.I've built all gstreamer libraries with
gst-build
, and then this project with the following script:And I'm running it via this script:
E.g.
./run.sh --peer-id=1234
.In my case I get
Is my way to build correct, could it be easier?
Given that I get
no element "webrtcbin"
, assume something is not in a location it's looking for?Thanks!
The text was updated successfully, but these errors were encountered: