Difference between revisions of "GstWebRTC - Building GstWebRTC - Jetson"

From RidgeRun Developer Connection
Jump to: navigation, search
m
 
(13 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{GstWebRTC Page|
+
{{GstWebRTC/Head|previous=Building GstWebRTC - x86|next=Building GstWebRTC - Yocto|metakeywords=building WebRTC, building GstRrWebRTC, WebRTC dependencies, GstRrWebRTC dependencies, GstRrWebRTC Yocto Build,signaling}}
[[Building GstWebRTC - x86|Building x86 Platforms]]|
 
[[Building GstWebRTC - Yocto|Building Yocto Platforms]]|
 
  
This page provides a guide to install GstRrWebRTC on Jetson Platforms.
+
This page provides a guide to install GstRrWebRTC on Jetson Platforms: TX1, TX2 and Xavier.
  
 
==Dependencies==
 
==Dependencies==
Line 69: Line 67:
 
libxv-dev \
 
libxv-dev \
 
x11proto-video-dev
 
x11proto-video-dev
 +
</syntaxhighlight>
 +
 +
==== Libnice ====
 +
 +
Libnice can be installed using apt, however, the version required by GstWebRTC is 0.1.15, so we need to install it manually:
 +
 +
<syntaxhighlight lang=bash>
 +
git clone https://github.com/libnice/libnice.git
 +
cd libnice
 +
git checkout 0.1.15
 +
./autogen.sh --prefix /usr/ --libdir /usr/lib/aarch64-linux-gnu/ ; make ; sudo make install ; cd ..
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Line 76: Line 85:
 
* SCTP libraries
 
* SCTP libraries
 
<syntaxhighlight lang='bash'>
 
<syntaxhighlight lang='bash'>
git clone https://github.com/sctplab/usrsctp
+
git clone https://github.com/RidgeRun/usrsctp
 
cd usrsctp
 
cd usrsctp
 
./bootstrap  
 
./bootstrap  
./configure <platform configuration option, see Table 1>
+
./configure --prefix /usr/ --libdir /usr/lib/aarch64-linux-gnu/
 
make  
 
make  
 
sudo make install
 
sudo make install
Line 87: Line 96:
 
* GStreamer SCTP elements
 
* GStreamer SCTP elements
 
<syntaxhighlight lang='bash'>
 
<syntaxhighlight lang='bash'>
git clone https://github.com/EricssonResearch/openwebrtc-gst-plugins
+
git clone https://github.com/RidgeRun/openwebrtc-gst-plugins
 
cd openwebrtc-gst-plugins
 
cd openwebrtc-gst-plugins
 
./autogen.sh
 
./autogen.sh
./configure <platform configuration option, see Table 1>
+
./configure --prefix /usr/ --libdir /usr/lib/aarch64-linux-gnu/
 
make
 
make
 
sudo make install
 
sudo make install
Line 113: Line 122:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
|keywords=building WebRTC, building GstRrWebRTC, WebRTC dependencies, GstRrWebRTC dependencies, GstRrWebRTC Yocto Build}}
+
{{GstWebRTC/Foot|previous=Building GstWebRTC - x86|next=Building GstWebRTC - Yocto}}
 
 
[[Category:GStreamer]][[Category:GstWebRTC]]
 

Latest revision as of 11:43, 9 March 2023



Previous: Building GstWebRTC - x86 Index Next: Building GstWebRTC - Yocto




This page provides a guide to install GstRrWebRTC on Jetson Platforms: TX1, TX2 and Xavier.

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
git checkout 0.1.15
./autogen.sh --prefix /usr/ --libdir /usr/lib/aarch64-linux-gnu/ ; make ; sudo make install ; cd ..

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 --prefix /usr/ --libdir /usr/lib/aarch64-linux-gnu/
make 
sudo make install
cd ..
  • GStreamer SCTP elements
git clone https://github.com/RidgeRun/openwebrtc-gst-plugins
cd openwebrtc-gst-plugins
./autogen.sh
./configure --prefix /usr/ --libdir /usr/lib/aarch64-linux-gnu/
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 --prefix /usr/ --libdir /usr/lib/aarch64-linux-gnu/
make
sudo make install

Verify

The plugin installation can be verified by running:

gst-inspect-1.0 rrwebrtc


Previous: Building GstWebRTC - x86 Index Next: Building GstWebRTC - Yocto