GstWebRTC - Building GstWebRTC: Difference between revisions

From RidgeRun Developer Wiki
mNo edit summary
mNo edit summary
 
(36 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{GstWebRTC Page|
{{GstWebRTC/Head|previous=Getting the code|next=Building GstWebRTC - x86|metakeywords=building WebRTC, building GstRrWebRTC, WebRTC dependencies, GstRrWebRTC dependencies, GstRrWebRTC Yocto Build,signaling}}
[[GstWebRTC - Getting the code|Getting the code]]|
[[GstWebRTC - Examples |Examples]]|


This page provides a guide to install GstWebRTC.
This Section presents the instructions to install the GstRrWebRTC element on x86, Jetson and Yocto platforms;
 
==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:
 
<syntaxhighlight lang='bash'>
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 \
</syntaxhighlight>
 
 
====Other Dependencies====
In Ubuntu 16.04 the following dependencies were also required:
<syntaxhighlight lang='bash'>
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
</syntaxhighlight>
 
=== Mac OSX ===
 
Using MacPorts
 
<syntaxhighlight lang='bash'>
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
</syntaxhighlight>
 
From the scratch
 
Installation path:
<syntaxhighlight lang='bash'>
export GSTDIR=/opt/local/
</syntaxhighlight>
 
Package path:
<syntaxhighlight lang='bash'>
export PKG_CONFIG_PATH=/opt/local/lib/pkgconfig
</syntaxhighlight>
 
* SCTP libraries
<syntaxhighlight lang='bash'>
git clone https://github.com/sctplab/usrsctp
cd usrsctp
./bootstrap
./configure --prefix $GSTDIR
make
sudo make install
cd ..
</syntaxhighlight>
 
* GStreamer SCTP elements
<syntaxhighlight lang='bash'>
git clone https://github.com/EricssonResearch/openwebrtc-gst-plugins
cd openwebrtc-gst-plugins
./autogen.sh
./configure --prefix $GSTDIR CFLAGS=-I$GSTDIR/include LDFLAGS=-L$GSTDIR/lib/
make
sudo make install
cd ..
</syntaxhighlight>
 
==Install plugin==
<syntaxhighlight lang='bash'>
./autogen.sh <platform configuration option, see Table 1>
./configure
make
sudo make install
</syntaxhighlight>


== Building Instructions Index ==
<html>
<html>
   <center>
   <div class="toc" style="font-size:80%;">
  <table class='wikitable'>
     <ol>
     <tr>
       <li> <a href=https://developer.ridgerun.com/wiki/index.php?title=Building_GstWebRTC_-_x86>Building x86 Platforms</a></li>
       <th>System</th>
       <li> <a href=https://developer.ridgerun.com/wiki/index.php?title=Building_GstWebRTC_-_Jetson>Building Jetson Platforms: TX1, TX2 and Xavier </a></li>
      <th>Configure Option</th>
       <li> <a href=https://developer.ridgerun.com/wiki/index.php?title=Building_GstWebRTC_-_Yocto>Building Yocto Platforms: i.MX6 and i.MX8</a></li>
    </tr>
    </ol>
    <tr>
   </div>
      <td>Ubuntu 64 bits</td>
      <td>--prefix /usr/ --libdir /usr/lib/x86_64-linux-gnu/</td>
    </tr>
    <tr>
       <td>RidgeRun's Embedded FS</td>
      <td>--prefix /usr/</td>
    </tr>
    <tr>
       <td>Tegra TX2</td>
      <td>--prefix /usr/ --libdir /usr/lib/aarch64-linux-gnu/</td>
    </tr>
    <caption>Table 1. Platform configuration options</caption>
  </table>
   </center>
</html>
</html>
=== Mac OSX ===
Export the PKG_CONFIG_PATH variable to /opt/local/
<syntaxhighlight lang='bash'>
export PKG_CONFIG_PATH=/opt/local/lib/pkgconfig
</syntaxhighlight>
<syntaxhighlight lang='bash'>
./autogen.sh --prefix /opt/local/
./configure
make
sudo make install
</syntaxhighlight>
==Verify==
The plugin installation can be verified by running:
<syntaxhighlight lang='bash'>
gst-inspect-1.0 webrtc
</syntaxhighlight>
}}


[[Category:GStreamer]][[Category:WebRTC]][[Category:GstWebRTC]]
{{GstWebRTC/Foot|previous=Getting the code|next=Building GstWebRTC - x86}}

Latest revision as of 15:21, 9 March 2023