Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/eface2face/rtcninja.js
WebRTC library to make media management easier across different browsers.
https://github.com/eface2face/rtcninja.js
Last synced: about 2 months ago
JSON representation
WebRTC library to make media management easier across different browsers.
- Host: GitHub
- URL: https://github.com/eface2face/rtcninja.js
- Owner: eface2face
- License: mit
- Created: 2014-12-23T16:14:21.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2016-11-30T11:49:11.000Z (almost 8 years ago)
- Last Synced: 2024-07-26T20:59:36.545Z (about 2 months ago)
- Language: JavaScript
- Homepage:
- Size: 416 KB
- Stars: 73
- Watchers: 18
- Forks: 23
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# rtcninja.js
WebRTC API wrapper to deal with different browsers transparently, [eventually](http://iswebrtcreadyyet.com/) this library shouldn't be needed. We only have to wait until W3C group in charge [finishes the specification](https://tools.ietf.org/wg/rtcweb/) and the different browsers implement it correctly :sweat_smile:.
Supported environments:
* [Google Chrome](https://www.google.com/chrome/browser/desktop/index.html) (desktop & mobile)
* [Google Canary](https://www.google.com/chrome/browser/canary.html) (desktop & mobile)
* [Mozilla Firefox](https://www.mozilla.org/en-GB/firefox/new) (desktop & mobile)
* [Firefox Nigthly](https://nightly.mozilla.org/) (desktop & mobile)
* [Opera](http://www.opera.com/)
* [Vivaldi](https://vivaldi.com/)
* [CrossWalk](https://crosswalk-project.org/)
* [Cordova](http://cordova.apache.org/): iOS support, you only have to use our plugin [following these steps](https://github.com/eface2face/cordova-plugin-iosrtc#usage).
* [NW.js](https://github.com/nwjs/nw.js/)
* [Electron](https://github.com/atom/electron)## Installation
### **npm**:
```bash
$ npm install rtcninja
```and then:
```javascript
var rtcninja = require('rtcninja');
```### **bower**:
```bash
$ bower install rtcninja
```## Browserified library
Take a browserified version of the library from the `dist/` folder:
* `dist/rtcninja.js`: The uncompressed version.
* `dist/rtcninja.min.js`: The compressed production-ready version.They expose the global `window.rtcninja` module.
## Usage
In the [examples](./examples/) folder we provide a complete one.
```javascript
// Must first call it.
rtcninja();// Then check.
if (rtcninja.hasWebRTC()) {
// Do something.
}
else {
// Do something.
}
```## Documentation
You can read the full [API documentation](docs/index.md) in the docs folder.
## Issues
https://github.com/eface2face/rtcninja.js/issues
## Developer guide
* Create a branch with a name including your user and a meaningful word about the fix/feature you're going to implement, ie: "jesusprubio/fixstuff"
* Use [GitHub pull requests](https://help.github.com/articles/using-pull-requests).
* Conventions:
* We use [JSHint](http://jshint.com/) and [Crockford's Styleguide](http://javascript.crockford.com/code.html).
* Please run `gulp lint` to be sure your code fits with them.### Debugging
The library includes the Node [debug](https://github.com/visionmedia/debug) module. In order to enable debugging:
In Node set the `DEBUG=rtcninja*` environment variable before running the application, or set it at the top of the script:
```javascript
process.env.DEBUG = 'rtcninja*';
```In the browser run `rtcninja.debug.enable('rtcninja*');` and reload the page. Note that the debugging settings are stored into the browser LocalStorage. To disable it run `rtcninja.debug.disable('rtcninja*');`.
## Copyright & License
* eFace2Face Inc.
* [MIT](./LICENSE)