Skip to content

Commit

Permalink
WebRTC Experiments — https://www.webrtc-experiment.com/ — updated.
Browse files Browse the repository at this point in the history
  • Loading branch information
muaz-khan committed Jul 20, 2013
1 parent a0f9b72 commit 25af037
Show file tree
Hide file tree
Showing 138 changed files with 3,148 additions and 2,568 deletions.
14 changes: 10 additions & 4 deletions AudioVideoRecorder/README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,21 @@
##### Audio+Video Recording using MediaRecorder / [Demo](https://webrtc-experiment.appspot.com/AudioVideoRecorder/)
##### Audio+Video Recording using MediaRecorder / [Demo](https://www.webrtc-experiment.com/AudioVideoRecorder/)

Only audio-relevant parts are supported in the moment. Audio+Video recording coming soon.

Support? Current/Latest Firefox Nightly (ONLY). Understood? Download from: http://nightly.mozilla.org/

=

##### Note

There is another relevant project: https://github.com/streamproc/MediaStreamRecorder

=

##### How to use AudioVideoRecorder?

```html
<script src="https://webrtc-experiment.appspot.com/AudioVideoRecorder.js"></script>
<script src="https://www.webrtc-experiment.com/AudioVideoRecorder.js"></script>
```

=
Expand Down Expand Up @@ -47,7 +53,7 @@ AudioVideoRecorder({

##### Browser Support

[AudioVideoRecorder.js](https://webrtc-experiment.appspot.com/AudioVideoRecorder/) works fine on following web-browsers:
[AudioVideoRecorder.js](https://www.webrtc-experiment.com/AudioVideoRecorder/) works fine on following web-browsers:

| Browser | Support |
| ------------- |-------------|
Expand All @@ -57,4 +63,4 @@ AudioVideoRecorder({

##### License

[AudioVideoRecorder.js](https://webrtc-experiment.appspot.com/AudioVideoRecorder/) is released under [MIT licence](https://webrtc-experiment.appspot.com/licence/) . Copyright (c) 2013 [Muaz Khan](https://plus.google.com/100325991024054712503).
[AudioVideoRecorder.js](https://www.webrtc-experiment.com/AudioVideoRecorder/) is released under [MIT licence](https://www.webrtc-experiment.com/licence/) . Copyright (c) 2013 [Muaz Khan](https://plus.google.com/100325991024054712503).
12 changes: 6 additions & 6 deletions AudioVideoRecorder/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@

::-moz-selection { background: #ccc; }
</style>
<script src="https://webrtc-experiment.appspot.com/AudioVideoRecorder.js"> </script>
<script src="https://www.webrtc-experiment.com/AudioVideoRecorder.js"> </script>
</head>
<body>
<h1>
Expand All @@ -103,7 +103,7 @@ <h1>
Copyright © 2013 <a href="https://github.com/muaz-khan" target="_blank">Muaz Khan</a>&lt;<a
href="http://twitter.com/muazkh" target="_blank">@muazkh</a>&gt;.</p>
<section class="plusone-gplus">
<div class="g-plusone" data-href="https://webrtc-experiment.appspot.com/"></div>
<div class="g-plusone" data-href="https://www.webrtc-experiment.com/"></div>
</section>
<div id="audios-container">
</div>
Expand All @@ -112,7 +112,7 @@ <h1>
navigator.mozGetUserMedia(mediaConstraints, onMediaSuccess, onMediaError);

function onMediaSuccess(stream) {
// https://webrtc-experiment.appspot.com/AudioVideoRecorder.js
// https://www.webrtc-experiment.com/AudioVideoRecorder.js
AudioVideoRecorder({
stream: stream,
mimeType: 'audio/ogg',
Expand Down Expand Up @@ -147,7 +147,7 @@ <h3>
<strong style="color: red;">Limitation</strong>: Only audio-recording is available
(<span style="color: rgb(187, 192, 213);">...audio+video recording coming soon</span>)</h3>
<pre>
&lt;script src="https://webrtc-experiment.appspot.com/AudioVideoRecorder.js"&gt;&lt;/script&gt;
&lt;script src="https://www.webrtc-experiment.com/AudioVideoRecorder.js"&gt;&lt;/script&gt;

AudioVideoRecorder({

Expand Down Expand Up @@ -185,12 +185,12 @@ <h2 id="feedback" style="border-bottom: 1px solid rgb(189, 189, 189); padding: .
<button id="send-message" style="font-size: 1em;">Send Message</button>
</section>
<footer>
<p> <a href="https://webrtc-experiment.appspot.com/" target="_blank">WebRTC Experiments!</a> © <a href="https://plus.google.com/100325991024054712503" rel="author" target="_blank">Muaz Khan</a>, <span> 2013 </span> » <a href="mailto:[email protected]" target="_blank">Email</a>»
<p> <a href="https://www.webrtc-experiment.com/" target="_blank">WebRTC Experiments!</a> © <a href="https://plus.google.com/100325991024054712503" rel="author" target="_blank">Muaz Khan</a>, <span> 2013 </span> » <a href="mailto:[email protected]" target="_blank">Email</a>»
<a
href="http://twitter.com/muazkh" target="_blank">@muazkh</a>» <a href="https://github.com/muaz-khan" target="_blank">Github</a>

</p>
</footer>
<script src="https://webrtc-experiment.appspot.com/common.js"> </script>
<script src="https://www.webrtc-experiment.com/common.js"> </script>
</body>
</html>
9 changes: 5 additions & 4 deletions DataChannel/DataChannel.js
Original file line number Diff line number Diff line change
Expand Up @@ -235,7 +235,7 @@
var self = { };
var that = this;

self.userToken = root.userid || uniqueToken();
self.userToken = root.userid = root.userid || uniqueToken();
self.sockets = [];
self.socketObjects = { };

Expand Down Expand Up @@ -819,9 +819,10 @@
var message = content[uuid].join('');
if (data.isobject) message = JSON.parse(message);

// latency detection
// bug: latency detection must be fixed
// https://github.com/muaz-khan/WebRTC-Experiment/issues/63#issuecomment-21083575
var receivingTime = new Date().getTime();
var latency = receivingTime - data.sendingTime;
var latency = Math.abs(receivingTime - data.sendingTime);

if (onmessage) onmessage(message, userid, latency);

Expand Down Expand Up @@ -861,7 +862,7 @@
credential: 'homeo'
};

iceServers = {
var iceServers = {
iceServers: options.iceServers || [STUN]
};

Expand Down
12 changes: 6 additions & 6 deletions DataChannel/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
##### [DataChannel.js](https://webrtc-experiment.appspot.com/DataChannel.js) : A JavaScript wrapper library for RTCDataChannel APIs / [Demos](https://webrtc-experiment.appspot.com/#DataChannel)
##### [DataChannel.js](https://www.webrtc-experiment.com/DataChannel.js) : A JavaScript wrapper library for RTCDataChannel APIs / [Demos](https://www.webrtc-experiment.com/#DataChannel)

DataChannel.js is a JavaScript library useful to write many-to-many i.e. group file/data sharing or text chat applications. Its syntax is easier to use and understand. It highly simplifies complex tasks like any or all user rejection/ejection; direct messages delivery; and more.

Expand All @@ -22,7 +22,7 @@ DataChannel.js is a JavaScript library useful to write many-to-many i.e. group f
##### First Step: Link the library

```html
<script src="https://webrtc-experiment.appspot.com/DataChannel.js"></script>
<script src="https://www.webrtc-experiment.com/DataChannel.js"></script>
```

=
Expand Down Expand Up @@ -289,10 +289,10 @@ channel.connect('channel-name');

=

##### [Demos using DataChannel.js](https://webrtc-experiment.appspot.com/#DataChannel)
##### [Demos using DataChannel.js](https://www.webrtc-experiment.com/#DataChannel)

1. [DataChannel basic demo](https://webrtc-experiment.appspot.com/DataChannel/)
2. [Auto Session Establishment and Users presence detection](https://webrtc-experiment.appspot.com/DataChannel/auto-session-establishment/)
1. [DataChannel basic demo](https://www.webrtc-experiment.com/DataChannel/)
2. [Auto Session Establishment and Users presence detection](https://www.webrtc-experiment.com/DataChannel/auto-session-establishment/)

=

Expand All @@ -310,4 +310,4 @@ channel.connect('channel-name');

##### License

[DataChannel.js](https://github.com/muaz-khan/WebRTC-Experiment/tree/master/DataChannel) is released under [MIT licence](https://webrtc-experiment.appspot.com/licence/) . Copyright (c) 2013 [Muaz Khan](https://plus.google.com/100325991024054712503).
[DataChannel.js](https://github.com/muaz-khan/WebRTC-Experiment/tree/master/DataChannel) is released under [MIT licence](https://www.webrtc-experiment.com/licence/) . Copyright (c) 2013 [Muaz Khan](https://plus.google.com/100325991024054712503).
14 changes: 7 additions & 7 deletions DataChannel/auto-session-establishment.html
Original file line number Diff line number Diff line change
Expand Up @@ -206,13 +206,13 @@
document.createElement('footer');
</script>

<script src="https://webrtc-experiment.appspot.com/DataChannel.js"></script>
<script src="https://webrtc-experiment.appspot.com/firebase.js"></script>
<script src="https://www.webrtc-experiment.com/DataChannel.js"></script>
<script src="https://www.webrtc-experiment.com/firebase.js"></script>
</head>

<body>
<article>
<a href="https://webrtc-experiment.appspot.com/"
<a href="https://www.webrtc-experiment.com/"
style="border-bottom: 1px solid #2844FA; font-size: 1.2em; position: absolute; right: 0; text-decoration: none; top: 0;">
WEBRTC EXPERIMENTS</a>

Expand All @@ -227,7 +227,7 @@ <h1>Auto Session Establishment using <a href="https://github.com/muaz-khan/WebRT
href="http://twitter.com/muazkh" target="_blank">@muazkh</a><span>&gt;.</span>
</p>
<section class="plusone-gplus">
<div class="g-plusone" data-href="https://webrtc-experiment.appspot.com/"></div>
<div class="g-plusone" data-href="https://www.webrtc-experiment.com/"></div>
</section>
<table style="border-left: 1px solid black; width: 100%;">
<tr>
Expand Down Expand Up @@ -341,7 +341,7 @@ <h2 style="display: block; font-size: 1em; text-align: center;">Share Files</h2>
<h2>Getting started with WebRTC <a href="https://github.com/muaz-khan/WebRTC-Experiment/tree/master/DataChannel"
target="_blank">DataChannel</a></h2>
<pre>
&lt;script src="<a href="https://webrtc-experiment.appspot.com/DataChannel.js" target="_blank">https://webrtc-experiment.appspot.com/DataChannel.js</a>"&gt;&lt;/script&gt;
&lt;script src="<a href="https://www.webrtc-experiment.com/DataChannel.js" target="_blank">https://www.webrtc-experiment.com/DataChannel.js</a>"&gt;&lt;/script&gt;
&lt;script&gt;
var channel = new <strong>DataChannel</strong>('default-channel');

Expand Down Expand Up @@ -490,14 +490,14 @@ <h2 id="feedback" style="padding: .2em .4em; border-bottom: 1px solid rgb(189, 1
</article>
<footer>
<p>
<a href="https://webrtc-experiment.appspot.com/" target="_blank">WebRTC Experiments!</a>©
<a href="https://www.webrtc-experiment.com/" target="_blank">WebRTC Experiments!</a>©
<a href="https://plus.google.com/100325991024054712503" rel="author" target="_blank">Muaz Khan</a>,
<span>2013 </span>»
<a href="mailto:[email protected]" target="_blank">Email</a>»
<a href="http://twitter.com/muazkh" target="_blank">@muazkh</a>»
<a href="https://github.com/muaz-khan" target="_blank">Github</a>
</p>
</footer>
<script src="https://webrtc-experiment.appspot.com/common.js"></script>
<script src="https://www.webrtc-experiment.com/common.js"></script>
</body>
</html>
14 changes: 7 additions & 7 deletions DataChannel/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -183,13 +183,13 @@
document.createElement('footer');
</script>

<script src="https://webrtc-experiment.appspot.com/DataChannel.js"></script>
<script src="https://webrtc-experiment.appspot.com/firebase.js"></script>
<script src="https://www.webrtc-experiment.com/DataChannel.js"></script>
<script src="https://www.webrtc-experiment.com/firebase.js"></script>
</head>

<body>
<article>
<a href="https://webrtc-experiment.appspot.com/"
<a href="https://www.webrtc-experiment.com/"
style="border-bottom: 1px solid #2844FA; font-size: 1.2em; position: absolute; text-decoration: none;right:0;top:0;">
WEBRTC EXPERIMENTS</a>

Expand All @@ -205,7 +205,7 @@ <h1>File Sharing + Text Chat using WebRTC <a
href="http://twitter.com/muazkh" target="_blank">@muazkh</a><span>&gt;.</span>
</p>
<section class="plusone-gplus">
<div class="g-plusone" data-href="https://webrtc-experiment.appspot.com/"></div>
<div class="g-plusone" data-href="https://www.webrtc-experiment.com/"></div>
</section>
<section>
<h2>Open Data Channel</h2>
Expand Down Expand Up @@ -325,7 +325,7 @@ <h2 style="display: block; font-size: 1em; text-align: center;">Share Files</h2>
<h2>Getting started with WebRTC <a href="https://github.com/muaz-khan/WebRTC-Experiment/tree/master/DataChannel"
target="_blank">DataChannel</a></h2>
<pre>
&lt;script src="<a href="https://webrtc-experiment.appspot.com/DataChannel.js" target="_blank">https://webrtc-experiment.appspot.com/DataChannel.js</a>"&gt;&lt;/script&gt;
&lt;script src="<a href="https://www.webrtc-experiment.com/DataChannel.js" target="_blank">https://www.webrtc-experiment.com/DataChannel.js</a>"&gt;&lt;/script&gt;
&lt;script&gt;
var channel = new <strong>DataChannel</strong>();

Expand Down Expand Up @@ -439,14 +439,14 @@ <h2 id="feedback" style="padding: .2em .4em; border-bottom: 1px solid rgb(189, 1
</article>
<footer>
<p>
<a href="https://webrtc-experiment.appspot.com/" target="_blank">WebRTC Experiments!</a>©
<a href="https://www.webrtc-experiment.com/" target="_blank">WebRTC Experiments!</a>©
<a href="https://plus.google.com/100325991024054712503" rel="author" target="_blank">Muaz Khan</a>,
<span>2013 </span>»
<a href="mailto:[email protected]" target="_blank">Email</a>»
<a href="http://twitter.com/muazkh" target="_blank">@muazkh</a>»
<a href="https://github.com/muaz-khan" target="_blank">Github</a>
</p>
</footer>
<script src="https://webrtc-experiment.appspot.com/common.js"></script>
<script src="https://www.webrtc-experiment.com/common.js"></script>
</body>
</html>
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@ The above copyright notice and this permission notice shall be included in all c

THE SOFTWARE IS PROVIDED �AS IS�, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

MIT: https://webrtc-experiment.appspot.com/licence/
MIT: https://www.webrtc-experiment.com/licence/
19 changes: 13 additions & 6 deletions Pluginfree-Screen-Sharing/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
#### WebRTC plugin free screen sharing / [Demo](https://webrtc-experiment.appspot.com/Pluginfree-Screen-Sharing/)
#### WebRTC plugin free screen sharing / [Demo](https://www.webrtc-experiment.com/Pluginfree-Screen-Sharing/)

Share entire screen directly without any single installation!

=

#### Enable screen capture support in getUserMedia()

1. Open `chrome://flags` in the latest chrome (canary/beta).
Expand All @@ -21,24 +23,29 @@ navigator.webkitGetUserMedia({
}, onstreaming, onfailure);
```

There is another experiment: [WebRTC Tab Sharing using experimental tabCapture APIs](https://webrtc-experiment.appspot.com/screen-broadcast/)
There is another experiment: [WebRTC Tab Sharing using experimental tabCapture APIs](https://www.webrtc-experiment.com/screen-broadcast/)

=

#### What about Desktop Sharing?

It is a big wish to share desktop using RTCWeb peer connection APIs but unfortunately currently it is not possible.

Current experiment is using chrome screen sharing APIs which is allows end-users just **view the screen**....nothing else!
=

#### Browser Support

[WebRTC plugin free screen sharing](https://webrtc-experiment.appspot.com/Pluginfree-Screen-Sharing/) experiment works fine on following web-browsers:
[WebRTC plugin free screen sharing](https://www.webrtc-experiment.com/Pluginfree-Screen-Sharing/) experiment works fine on following web-browsers:

| Browser | Support |
| ------------- |:-------------|
| ------------- |-------------|
| Firefox | [Stable](http://www.mozilla.org/en-US/firefox/new/) / [Aurora](http://www.mozilla.org/en-US/firefox/aurora/) / [Nightly](http://nightly.mozilla.org/) |
| Google Chrome | [Stable](https://www.google.com/intl/en_uk/chrome/browser/) / [Canary](https://www.google.com/intl/en/chrome/browser/canary.html) / [Beta](https://www.google.com/intl/en/chrome/browser/beta.html) / [Dev](https://www.google.com/intl/en/chrome/browser/index.html?extra=devchannel#eula) |
| Internet Explorer / IE | [Chrome Frame](http://www.google.com/chromeframe) |
| Android | [Chrome Beta](https://play.google.com/store/apps/details?id=com.chrome.beta&hl=en) |

=

#### License

[WebRTC plugin free screen sharing](https://webrtc-experiment.appspot.com/Pluginfree-Screen-Sharing/) experiment is released under [MIT licence](https://webrtc-experiment.appspot.com/licence/) . Copyright (c) 2013 [Muaz Khan](https://plus.google.com/100325991024054712503).
[WebRTC plugin free screen sharing](https://www.webrtc-experiment.com/Pluginfree-Screen-Sharing/) experiment is released under [MIT licence](https://www.webrtc-experiment.com/licence/) . Copyright (c) 2013 [Muaz Khan](https://plus.google.com/100325991024054712503).
37 changes: 27 additions & 10 deletions Pluginfree-Screen-Sharing/conference-ui.js
Original file line number Diff line number Diff line change
@@ -1,17 +1,34 @@
var config = {
// 2013, @muazkh » github.com/muaz-khan
// MIT License » https://webrtc-experiment.appspot.com/licence/
// Documentation » https://github.com/muaz-khan/WebRTC-Experiment/tree/master/Pluginfree-Screen-Sharing

var config = {
openSocket: function (config) {
var channel = config.channel || location.hash.replace('#', '') || 'pluginfree-screen-sharing';
var socket = new Firebase('https://rtcweb.firebaseIO.com/' + channel);
var SIGNALING_SERVER = 'https://www.webrtc-experiment.com:8553/',
defaultChannel = location.hash.substr(1) || 'Pluginfree-Screen-Sharing';

var channel = config.channel || defaultChannel;
var sender = Math.round(Math.random() * 999999999) + 999999999;

io.connect(SIGNALING_SERVER).emit('new-channel', {
channel: channel,
sender: sender
});

var socket = io.connect(SIGNALING_SERVER + channel);
socket.channel = channel;
socket.on('child_added', function (data) {
config.onmessage && config.onmessage(data.val());
socket.on('connect', function() {
if (config.callback) config.callback(socket);
});
socket.send = function (data) {
this.push(data);

socket.send = function(message) {
socket.emit('message', {
sender: sender,
data: message
});
};
config.onopen && setTimeout(config.onopen, 1);
socket.onDisconnect().remove();
return socket;

socket.on('message', config.onmessage);
},
onRemoteStream: function (media) {
var video = media.video;
Expand Down
Loading

0 comments on commit 25af037

Please sign in to comment.