Code Monkey home page Code Monkey logo

webrtc-everywhere's Introduction

webrtc-everywhere is an open source project (with business-friendly license) to add support for WebRTC features to Safari (Windows and MAC OSX) and Internet Explorer (Windows).

Downloads

Online samples

The following samples use our adapter.js and could be tested on Safari and Internet Explorer (off course they also work on Firefox and Chrome):

Using our plugin in your own project

  • Download and install the plugin for MAC OSX or Windows
  • Include adapter.js in your code.
  • Change the code you're using to attach a stream to a <audio/> or <video /> HTML5 element:
    from:
document.getElementById("eltId").src = mediaStream;


to:

attachMediaStream(document.getElementById("eltId"), mediaStream);

Screenshare

Support for screenshare was added in version 2.0. To choose your screen as video media source (instead of the camera) you need to use "X978DoubangoTelecomScreenCapturer785" as sourceId.

alt Screenshare

Sample code to select your screen as media source:

navigator.getUserMedia({ "video": {optional: [{sourceId: "X978DoubangoTelecomScreenCapturer785"}]}}, okfn, errfn);

Building source code

cd webrtc-checkout/src
  • For Windows you'll need to apply this patch

  • OSX x86_64

python webrtc/build/gyp_webrtc -Dtarget_arch=x64 -DOS=mac -Dclang_xcode=1
ninja -C out/Debug
ninja -C out/Release

mv out/Debug out/Debug_x64
mv out/Release out/Release_x64
  • OSX i386
python webrtc/build/gyp_webrtc -Dtarget_arch=ia32 -DOS=mac -Dclang_xcode=1
ninja -C out/Debug
ninja -C out/Release

mv out/Debug out/Debug_i386
mv out/Release out/Release_i386
  • WIN64
python webrtc/build/gyp_webrtc -Dtarget_arch=x64 -DOS=win
ninja -C out/Debug_x64
ninja -C out/Release_x64
  • WIN32
python webrtc/build/gyp_webrtc -Dtarget_arch=ia32 -DOS=win
ninja -C out/Debug
ninja -C out/Release


To build the source code you'll need Visual Studio 2013+ (Windows) or Xcode (MAC OSX): - Visual Studio solution: **webrtc-everywhere/webrtc-everywhere.sln** - Xcode project: **webrtc-everywhere/xcode/webrtc-everywhere.xcodeproj**

License

  • Binaries and installers: All binaries and installers from us are released under BSD terms to allow using the project in your commercial products.
  • The source code: GPLv3. Please contact us for alternative license options.

Known issues

  • On Safari/OSX, if you're getting TypeError: undefined is not a function (evaluating 'getPlugin()...:

Getting help

The best way to get help is via our dev-group.

Release notes

  • to register the ActiveX under HKCU instead of HKLM
  • to install binaries under AppData folder instead of ProgramFiles
  • to bundle 32bit and 64bit binaries
  • 1.2.0

    • Adds DataChannel API with support for Strings, BLOBs and ArrayBuffers (Int8Array, Uint8Array, Uint8ClampedArray, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array and Float64Array).
    • Adds support for DTMFSender API.
    • Implements secure prompt in getUserMedia. Websites served over htpps are stored in local file encrypted using DES-CBC. The encryption keys are defined at build time.
    • Bug fix: Issue #3, Issue #10 and Issue #11
  • 1.1.0

    • Add new JavaScript function: Webrtc::getScreenShot(). This function converts the RGB32 raw image to bitmap then to base64. The process is instantaneous and the base64 image could be used in JavaScript like this:
  var image = new Image();
  image.onload = function () {
  	document.getElementById("mycanvas").getContext("2d").drawImage(image, 0, 0, width, height);
  };
  image.src = "data:image/png;base64," + base64;
  • Bug fix:
    • Issue #6: The active element tag flashes when the window is resized or scrolled
    • Issue #7: drawImage() function is toooo slooow
    • Issue #8: Color alignment issue in drawImage()
  • 1.0.1
    • Initial release without support for DataChannel

webrtc-everywhere's People

Contributors

sarandogou avatar doubangotelecom avatar

Watchers

 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.