Code Monkey home page Code Monkey logo

webrtc-nativeimpl-tutorial's Introduction

webrtc-nativeimpl-tutorial

UNDER CONSTRUCTION

This is a short collection of notes collected on attempts to run WebRTC native client implementation in Linux without a browser (This has not been successful so far).

openwebrtc

These are some tests related to OpenWebRTC.

Packages for this tutorial have been compiled on a Linux Development Machine (xUbuntu 14.0, 64 bit architecture) and on a Linux-based mini pc box (Asus EEEPC running Ubuntu server 14.04, 32-bit version).

Step 1 - Building cerbero and openwebrtc binaries

IMPORTANT NOTE: this steps can be skipped by using directly the binaries attached to this project (binaries folder).

On the development machine, clone repositories:

git clone [email protected]:EricssonResearch/cerbero.git
git clone [email protected]:EricssonResearch/openwebrtc.git

Create some folder to host openwebrtc after installation phase. The target folder can be changed modifying cerbero/config/linux.cbc.

sudo mkdir -p /opt/openwebrtc-0.3
sudo chown -R $UID /opt/openwebrtc-0.3

Run the following commands to build.

Note: this is a quite long process and installs a lot of packages on your development machine.

cd cerbero \
&& ./cerbero-uninstalled -c config/linux.cbc fetch-package --full-reset --reset-rdeps openwebrtc \
&& ./cerbero-uninstalled -c config/linux.cbc bootstrap \
&& ./cerbero-uninstalled -c config/linux.cbc package -f openwebrtc

This will build for your own architecture.

It seems it should be possible to build for a different architecture by changing in the commands above the cerbero config file (config/linux.cbc). I guess you can for example use cross-lin-x86.cbc, cross-lin-arm.cbc, etc., but so far I only tested same-platform compilation on X64 and X86 architectures.

At the end of the process, a set of debian packages will be available in the cerbero folder.

Step 2 - Installing binaries

Binaries can be installed on any debian based system matching your architecture. Unless you have built them on your own, you can find pre-built binaries in the binaries folder of this tutorial.

In order to install packages just run:

sudo dpkg -i *.deb

After installation is successful, openwebrtc is installed in your system.

Step 3 - Test Server

A test server is available in the web folder of EricssonResearch/openwebrtc-examples project. Just clone the repository and run:

cd openwebrtc-examples/web
nodejs channel_server.js 8080

You will need nodeJS on your system (sudo aptitude install nodejs).

If you open any browser on port 8080 you should be able to start or join a webrtc session from any browser.

Step 4 - Launch native application

Not successfull, yet.

webrtc-native

These are some tests related to vmolsa/webrtc-native.

Build prerequisites

sudo apt-get install npm
sudo apt-get install --yes build-essential python2.7 git pkg-config libnss3-dev libasound2-dev libpulse-dev libjpeg62-dev libxv-dev libgtk2.0-dev libexpat1-dev default-jdk libxtst-dev libxss-dev libpci-dev libgconf2-dev libgnome-keyring-dev libudev-dev
https://github.com/vmolsa/webrtc-native
cd webrtc-native
npm install

UV4L

Links

Misc unclassified links

webrtc-nativeimpl-tutorial's People

Contributors

riccardo avatar

Watchers

 avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.