GstWebRTC - Building GstWebRTC - x86
GstWebRTC | ||||||||
---|---|---|---|---|---|---|---|---|
WebRTC Fundamentals | ||||||||
GstWebRTC Basics | ||||||||
|
||||||||
Evaluating GstWebRTC | ||||||||
Getting the code | ||||||||
Building GstWebRTC | ||||||||
Examples | ||||||||
|
||||||||
MCU Demo Application | ||||||||
Contact Us |
This page provides a guide to install GstRrWebRTC on x86 Platforms.
Dependencies
GstRrWebRTC has the following dependencies:
- Gstreamer 1.0
- GStreamer 1.0 Development Package
- Gstreamer 1.0 Base Plug-ins Development Package
- Gstreamer 1.0 Bad Plug-ins
- Gstreamer 1.0 Good Plug-ins
- LibSoup Development Package (libsoup2.4-dev)
- JSON-GLib Development Package (libjson-glib-dev)
- OpenSSL Development Package (libssl-dev)
- LibNice Development Package (libnice-dev)
- GTK-Doc Tools (Optional) (gtk-doc-tools)
Make sure you have the following GStreamer elements:
- gst-inspect-1.0 rtpmanager
- gst-inspect-1.0 dtls
- gst-inspect-1.0 nice
- gst-inspect-1.0 srtp
Linux
In Debian based systems, you may install them with the following command:
sudo apt install \ gstreamer1.0-x \ libgstreamer1.0-dev \ libgstreamer-plugins-base1.0-dev \ gstreamer1.0-plugins-bad \ libsoup2.4-dev \ libjson-glib-dev \ libnice-dev \ autoconf \ libtool \ gtk-doc-tools \ libglib2.0-dev \ gstreamer1.0-nice \ libssl-dev \ libreadline-dev \ gstreamer1.0-plugins-ugly \ libsrtp0-dev
Other Dependencies
In Ubuntu 16.04 the following dependencies were also required:
sudo apt install \ faad \ libasound2-dev \ libfaad-dev \ libjack-jackd2-dev \ libmad0-dev \ libogg-dev \ liborc-0.4-dev \ libpulse-dev \ libtheora-dev \ libv4l-dev \ libv4l2rds0 \ libvorbis-dev \ libvpx-dev \ libx264-dev \ libxv-dev \ x11proto-video-dev
Libnice
Libnice can be installed using apt, however, the version required by GstWebRTC is 0.1.15, so we need to install it manually:
git clone https://github.com/libnice/libnice.git cd libnice ./autogen.sh --prefix /usr/ --libdir /usr/lib/x86_64-linux-gnu/ ; make ; sudo make install ; cd ..
Mac OSX
Using MacPorts
sudo port install \ gstreamer1 \ gstreamer1-gst-plugins-base \ gstreamer1-gst-plugins-bad \ gstreamer1-gst-plugins-good \ gstreamer1-gst-plugins-ugly \ json-glib \ autoconf \ libtool \ gtk-doc \ glib2 \ libsoup \ openssl \ readline \ libnice \ libsrtp
Data channel support dependencies
In order to have support for WebRTC data channel you need to build these libraries from the scratch:
- SCTP libraries
git clone https://github.com/RidgeRun/usrsctp cd usrsctp ./bootstrap ./configure $OPTIONS # CHOOSE THE APPROPRIATE CONFIGURATION FROM THE TABLE BELOW <platform configuration option, see Table 1> make sudo make install cd ..
- GStreamer SCTP elements
git clone https://github.com/RidgeRun/openwebrtc-gst-plugins cd openwebrtc-gst-plugins ./autogen.sh ./configure $OPTIONS # CHOOSE THE APPROPRIATE CONFIGURATION FROM THE TABLE BELOW <platform configuration option, see Table 1> make sudo make install cd ..
If you get the error 'UINT16_MAX' undeclared while running make, add the library #include <stdint.h> to the openwebrtc-gst-plugins/ext/sctp/sctpassociation.c file.
Install RidgeRun GstRrWebRTC plugin
Please refer Getting the code page and RidgeRun will provide you the full source version of the plugin path once you place the order.
Checkout the latest tag and run the commands mentioned below:
./autogen.sh $OPTIONS # CHOOSE THE APPROPRIATE CONFIGURATION FROM THE TABLE BELOW make sudo make install
System | Configure Option |
---|---|
Ubuntu 64 bits | --prefix /usr/ --libdir /usr/lib/x86_64-linux-gnu/ |
RidgeRun's Embedded FS | --prefix /usr/ |
Mac OSX
Export the PKG_CONFIG_PATH variable to /opt/local/
export PKG_CONFIG_PATH=/opt/local/lib/pkgconfig
./autogen.sh --prefix /opt/local/ make sudo make install
Verify
The plugin installation can be verified by running:
gst-inspect-1.0 rrwebrtc