NDN WebRTC Conferencing Project
For license information see LICENSE.
Early stages of an NDN-based videoconferencing tool based on the WebRTC implementation in Firefox.
App code is divided into to main parts - C++ code of add-on and Javascript code of web app. C++ code provides all basic operations for establishing NDN-connections to other peers and transmitting/receiving encoded media. It also exposes it's interface to the web-page Javascript through Javascript wrapper object attached to DOM's window object of a page.
Javascript code of web app provides all th UI and peer discovery/authentication logic of the NDN-RTC application.
The directory structure is as follows:
- /root
- ccp/ -- c++ code
- addon/ -- Firefox-specific files for add-on installation
- components/ -- Javascript wrapper code
- bin/ -- compiled files, dynamic library of c++ add-on, .xpt component interface file for Firefox
- ndnrtc/ -- upacked add-on
- ndnrtc.xpi -- compiled add-on package
- content/ -- add-on resources and helper Javascript files
- idl/ -- add-on's idl interface files
- src/ -- .h and .cpp files of c++ component
- addon/ -- Firefox-specific files for add-on installation
- html/ -- web app directory
- js/ -- Javascript for web app
- index.html -- main page for web app
- LICENSE
- README.md
- ccp/ -- c++ code
- XULRunner SDK (or Gecko SDK). Check the latest version here. Current code was compiled with SDK version 25.0a1 (Nightly).
- WebRTC libraries (check http:https://www.webrtc.org/reference/getting-started).
- Gtests framework (check https://code.google.com/p/googletest/source/checkout).
- NDN-CPP library (check the latest commit from https://github.com/named-data/ndn-cpp.git).
- Setup
XULSDK
environment path:
$ export XULSDK=~/mozilla/xulrunner/dist
- Setup
PYTHONPATH
environment path:
$ export PYTHONPATH=$(PYTHONPATH):$(XULSDK)/sdk/bin
-
Checkout latest commit of WebRTC into thirdparty directory under ndn-webrtc name and build it for x64 architecture.
-
In order to run tests, checkout Gtests library into thirdparty/ndn-gtest.
-
Initialize git submodules (for NDN-CPP):
$ git submodule init & git submodue update
- Perform make:
$ cd cpp $ make addon
- Check bin directory for ndnrtc.xpi file, open it in Firefox and restart.
- Open html/index.html file.