GstWebRTC - Building GstWebRTC: Difference between revisions
mNo edit summary |
No edit summary |
||
Line 3: | Line 3: | ||
[[GstWebRTC - Examples |Examples]]| | [[GstWebRTC - Examples |Examples]]| | ||
This page provides a guide to install | This page provides a guide to install GstRrWebRTC. | ||
==Dependencies== | ==Dependencies== | ||
GstRrWebRTC has the following dependencies: | |||
* Gstreamer 1.0 | * Gstreamer 1.0 | ||
Line 120: | Line 120: | ||
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. | 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 | ==Install RidgeRun GstRrWebRTC plugin== | ||
Please refer [[GstWebRTC - Getting the code|Getting the code]] page and RidgeRun will provide you the full source version of the plugin path once you place the order.<br> | Please refer [[GstWebRTC - Getting the code|Getting the code]] page and RidgeRun will provide you the full source version of the plugin path once you place the order.<br> | ||
Checkout the latest tag and run the commands mentioned below: | Checkout the latest tag and run the commands mentioned below: | ||
Line 173: | Line 173: | ||
RidgeRun offers a Yocto layer containing RidgeRun commonly used packages. You can download this package from https://github.com/RidgeRun/meta-ridgerun.<br> | RidgeRun offers a Yocto layer containing RidgeRun commonly used packages. You can download this package from https://github.com/RidgeRun/meta-ridgerun.<br> | ||
It contains a recipe to build Gst-WebRTC but you need to purchase | It contains a recipe to build Gst-WebRTC but you need to purchase GstRrWebRTC with full source code, from: https://www.ridgerun.com/store/GSTWebRTC-p74337777 | ||
===Adding meta-ridgerun to your Yocto build=== | ===Adding meta-ridgerun to your Yocto build=== | ||
Line 221: | Line 221: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
|keywords=building WebRTC, building | |keywords=building WebRTC, building GstRrWebRTC, WebRTC dependencies, GstRrWebRTC dependencies, GstRrWebRTC Yocto Build}} | ||
[[Category:GStreamer]][[Category:WebRTC]][[Category:GstWebRTC]] | [[Category:GStreamer]][[Category:WebRTC]][[Category:GstWebRTC]] |
Revision as of 00:01, 10 January 2019
← |
⌂ Home |
→ |
This page provides a guide to install GstRrWebRTC.
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
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 ..
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/ |
Tegra TX1/TX2 | --prefix /usr/ --libdir /usr/lib/aarch64-linux-gnu/ |
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
Building Gst-WebRTC on Yocto
RidgeRun offers a Yocto layer containing RidgeRun commonly used packages. You can download this package from https://github.com/RidgeRun/meta-ridgerun.
It contains a recipe to build Gst-WebRTC but you need to purchase GstRrWebRTC with full source code, from: https://www.ridgerun.com/store/GSTWebRTC-p74337777
Adding meta-ridgerun to your Yocto build
First you need to copy meta-ridgerun in your sources directory:
cp -r meta-ridgerun $YOCTO_DIRECTORY/sources/
Then add the RidgeRun meta layer to your bblayers.conf file. First go to the build configuration directory
cd $YOCTO_DIRECTORY/build/conf/
Open the bblayers.conf file and add the RidgeRun meta layer path $YOCTO_DIRECTORY/sources/meta-ridgerun to BBLAYERS
Building Gst-WebRTC
- Once you have access to the repository, please open gst-webrtc_xxx.bb in $YOCTO_DIRECTORY/sources/meta-ridgerun/recipes-multimedia/gstreamer/
- Modify the following line in SRC_URI with the correct gst-webrtc URL by changing <Customer-Directory> with your own.
git://git@gitlab.com/RidgeRun/orders/<Customer-Directory>/gst-webrtc.git;protocol=ssh;branch=${SRCBRANCH};name=base \
- Make sure you have added your ssh key to your GitLab account. For more information: SSH Information
- Finally build recipe:
bitbake gst-webrtc
SSH Information
The recipe will fetch the repository using your ssh key, thus it's necessary to add the key in Gitlab page.
For adding it, go to Settings->SSH Keys and add your key, if don't have one you can find there a link about how to generate it.
SHH Issue
If GitLab key hasn't added to your list of known hosts on the PC, you will have fetch errors when trying to build Gst-WebTRC recipe.
One easy way to add the key is when cloning the repository for the first time from gitlab, it will ask if you want to add the key to your list of known hosts.
Example:
git clone git@gitlab.com:RidgeRun/orders/<Customer-Directory>/gst-webrtc.git
← |
⌂ Home |
→ |