GstWebRTC - Building GstWebRTC

From RidgeRun Developer Wiki
Revision as of 03:56, 2 February 2018 by Spalli (talk | contribs)

Getting the code


Home

Examples



This page provides a guide to install GstWebRTC.

Dependencies

GstWebRTC 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 rtp-manager
  • gst-inspect dtls
  • gst-inspect nice
  • gst-inspect 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

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/sctplab/usrsctp
cd usrsctp
./bootstrap 
./configure <platform configuration option, see Table 1>
make 
sudo make install
cd ..
  • GStreamer SCTP elements
git clone https://github.com/EricssonResearch/openwebrtc-gst-plugins
cd openwebrtc-gst-plugins
./autogen.sh
./configure <platform configuration option, see Table 1> 
make
sudo make install
cd ..

Install RidgeRun GstWebRTC 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.

./autogen.sh <platform configuration option, see Table 1>
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/
Tegra TX1/TX2 --prefix /usr/ --libdir /usr/lib/aarch64-linux-gnu/
Table 1. Platform configuration options

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 webrtc


Getting the code


Home

Examples