Coder Social home page Coder Social logo

Comments (13)

muaz-khan avatar muaz-khan commented on May 22, 2024

Sure; you can host any experiment on your own web server.

However, only these two requires a node.js server:

  1. Socket.io over Node.js
  2. WebSocket over Node.js

All experiments are HTML/JS based; so just copy/paste and done!

from webrtc-experiment.

rmrinmoy avatar rmrinmoy commented on May 22, 2024

The Node.js server will only establish connection or will it handle the streaming of the videos too? I want develop something that doesn't involve any server for video streaming. Just peer to peer video conferencing. I know a server is must to establish a connection. What happens after that? Does that play any role in the actual conferencing?

from webrtc-experiment.

VGubarev avatar VGubarev commented on May 22, 2024

Rmrinmoy, node.js only establish connection

from webrtc-experiment.

muaz-khan avatar muaz-khan commented on May 22, 2024
The Node.js server will only establish connection or will it handle the streaming of the videos too?

Only connection.

I want develop something that doesn't involve any server for video streaming. Just peer to peer video conferencing. I know a server is must to establish a connection. What happens after that?

In Offer/Answer model; a signaling gateway is mandatory however signaling server is not. Signaling can be done by copy/paste.

Does that play any role in the actual conferencing?

Node.js is good client for instant messaging. That's why it can be used for signaling too.

What signaling really is? — Just an exchange of session descriptions required for initial handshake.

You can use Node.js to share custom activities of the participants e.g.

  1. If someone leaves the room
  2. If someone mutes the audio/video
  3. If someone willing to share the screen i.e. renegotiation process

Etc.

from webrtc-experiment.

rmrinmoy avatar rmrinmoy commented on May 22, 2024

Thank you very much for your help.

from webrtc-experiment.

sunil28 avatar sunil28 commented on May 22, 2024

Hi sir,

you have said that firebase used for signaling purpose , could you please define how to set data in firebase how actually we can use that firebase

from webrtc-experiment.

muaz-khan avatar muaz-khan commented on May 22, 2024

First of all, link firebase.js:

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

Then start using it:

// unique for your site; however, it is optional.
var channel = 'abcdef';

// "chat" is PUBLIC firebase instance
var firebase = new Firebase('https://chat.firebaseio.com/' + channel);

// fired for each new message pushed over firebase servers
socket.on('child_added', function (snap) {
    data = snap.val();
    alert('this is your ' + data);
});

// push your own message; it never overwrites old data
firebase.push('watever');

// or overwrite existing messages
firebase.set('overwrite');

Firebase documentation available here: https://www.firebase.com/docs/javascript/firebase/index.html

from webrtc-experiment.

vidyadudhani avatar vidyadudhani commented on May 22, 2024

Hello sir,
can u explain me
var firebase = new Firebase('https://chat.firebaseio.com/' + channel);

what this above line do actually...?

from webrtc-experiment.

muaz-khan avatar muaz-khan commented on May 22, 2024
  1. http://www.rtcmulticonnection.org/FAQ/
  2. https://www.webrtc-experiment.com/docs/WebRTC-Signaling-Concepts.html
  3. http://www.rtcmulticonnection.org/docs/sessionid/
  4. http://www.rtcmulticonnection.org/docs/channel-id/
  5. http://stackoverflow.com/questions/13504320/socket-io-namespaces-channels-co

It means that data transmitted/exchanged over this channel will be received only by the user using same channel. It gives us private environment that can be used to exchange sdp/ice privately between users.

Unique-channels concept allows us setup private text-chatting rooms as well.

var firebase1 = new Firebase('https://chat.firebaseio.com/channel-unique-id-1');
var firebase2 = new Firebase('https://chat.firebaseio.com/channel-unique-id-2');
var firebase3 = new Firebase('https://chat.firebaseio.com/channel-unique-id-3');

All these three firebase instances are referencing to unique session on Firebase servers; data transmitted over one channel can't be received on other.

from webrtc-experiment.

vivekbheda avatar vivekbheda commented on May 22, 2024

Hello Sir,
i copied file "http://www.rtcmulticonnection.org/latest.js" and "firebase.js" and putted in my local pc now when i try to run following example it generates errors
Example ::

<title>RTC</title> <script src="http://www.rtcmulticonnection.org/latest.js"></script>

Open New Room

<script> var connection = new RTCMultiConnection().connect(); document.getElementById('openNewSessionButton').onclick = function() { connection.open(); }; </script>

ERROR:-

edia hints: {
"audio": true,
"video": {
"mandatory": {
"minWidth": 640,
"minHeight": 360,
"maxWidth": 1280,
"maxHeight": 720,
"minAspectRatio": 1.77
},
"optional": []
}
} latest.js:2458
{
"constraintName": "",
"message": "",
"name": "PermissionDeniedError"
} latest.js:3612
connection.onMediaError latest.js:3612
_captureUserMedia.mediaConfig.onerror latest.js:398
Maybe microphone access is denied. latest.js:3612
Maybe webcam access is denied. latest.js:3612
WebSocket connection to 'wss://s-dal5-nss-16.firebaseio.com/.ws?v=5&ns=rtcweb&s=cKTcywdDFPrZoH12zYTvnNLCwrubscUH' failed: WebSocket is closed before the connection is established. firebase.js:48

Sir please help me to overcome with this

from webrtc-experiment.

muaz-khan avatar muaz-khan commented on May 22, 2024

Either another application is using your webcam (maybe Firefox) or you accidentally clicked "Deny" button. You should go to this page: chrome://settings/contentExceptions#media-stream and search for your locahost. Both audio and video MUST be Allow in the list.

from webrtc-experiment.

oihi08 avatar oihi08 commented on May 22, 2024

Sir, we can use your firebase for all connection? I would like to implement in my project but I do not sure if it is possible.

Thank you

from webrtc-experiment.

rash143 avatar rash143 commented on May 22, 2024

I am using RTCMulticonnection for audio video broadcasting and created custom account with xirsys and used own credentials for stun and turn connection and firebase.io for signalling. However, Xirsys states that it provides signalling server for webrtc so my concern is that how could we eliminate firebase io and use xirsys signalling.

from webrtc-experiment.

Related Issues (20)

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.