GithubHelp home page GithubHelp logo

webrtc-io / webrtc.io Goto Github PK

View Code? Open in Web Editor NEW
1.6K 1.6K 293.0 3.65 MB

An abstraction layer for webRTC. Aim is to simplify the HTML5 web standard webRTC in a similar manner to socket.io w/ websockets. Highly experimental technology

JavaScript 100.00%

webrtc.io's People

Contributors

aeosynth avatar benbrittain avatar benfoxall avatar captn3m0 avatar danielkutik avatar dennismartensson avatar ignjat avatar mariusbutuc avatar sarenji avatar stanangeloff avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

webrtc.io's Issues

CompletelyServerless?

Hi,

I don't know how to contact the authors.

I'm working with the Named-Data-Networking team and the Dean of Technology and Innovation at UCLA and currently am the author of a library called "worker.io" which uses SharedWorkers for shared-state across tabs, per domain.

Our dilemma is that we need shared-state across of different domains in a secure way WITHOUT a webserver, so I found webRTC.io.

Is there any way to remove a server entirely from the stack using webRTC.io (or any other workaround)?

Cheers,

Cody

ps. feel free to close this issue and email me at [email protected]

upgrade required

i get this in my page

upgrade required.
Is this project dead?

webrtc.io and express

Could somebody make webrtc.io compatible with express so i can use sockets from a server script and continue to use express. I've tried alot of things to make it work without success.

Remote webcam shows up with some people but not others

The title says it all. Sometimes I can connect with specific remote peers very quickly and easily. While with others, I get a peer connection but never receive a webcam/mic stream and vice versa. What could be the problem?
This happened with several different cases. This even happens on the provided demo link.

Publish to NPM

The last release was 4 months ago. Since then I notice quite a few bug fixes. Should push them to NPM.

Is webRTC.io still active?

I see that last commits were made 3 years ago. Is this project still active? If yes will there be support for screen sharing (whenever possible) and sdks for mobile platforms (focusing on Android and iOS)?

Server getting up to 85% cpu usage within a few days of running

Webrtc.io has been running on my server for a couple of days while being used continuously along with the client and stopped working yesterday for no apparent reason.
Upon running the linux top command i noticed it's having around 80% cpu usage. After restarting the process everything worked as expected. Unfortunateley i don't have any logs that might be useful for debugging. However, i have restarted the server wih the debug flag so i can see what might be happening and i'll be posting info here.

End Video Conf without closing browser tab

Hello,

Thanks for webRTC.io

In my application I have two buttons to Join/Start Call and another to End the call.

We need an implementation by which user can end the call without closing the browser tab and if required he can re-join the meeting by clicking the Join/Start Call button again in the same tab. Currently we have implemented this using our own WebRTC implementation which is using Socket.io.

I have tried to implement the socket('close') as a different method "hang_up" (code same as 'close') but I'm facing couple of issues -

  • When I re-join on the same tab it gives back multiple connection of my own local media
  • And even on hang up I can still hear the audio channel

For a moment just ignore what I tried to implement, instead suggest couple of options to hang-up and Re-join the call without closing the browser tab.

I'm using chrome Version 23.0.1271.6 dev (Ubuntu) and Chromium 21.* on Mac.

Thanks
Lalit

Screen Share and User Webcam Video

So we have an app extended upon from the demo app. 1:1 only. Needs to show user video and screen share from 1 user.

is there a good way to send 2 videos stream from 1 user? currently we had to modify the webrtc.io framework so it was instance based (cleaner approach so global dom not smeared) and then have multiple connections.

var rtc = new WebRTCIO().rtc;
var screenShareConnection = new WebRTCIO().rtc;

screenShareConnection.connect("ws:" + urlc, room + "_screen");
rtc.connect("ws:" + urlc, room);

TURN Server Support

Hello, webrtc.io is excellent, it works great, but I have problems in some places associated with the firewall, I read about TURN server, I wonder if webrtc.io has support for TURN, since in the code I have not found reference , STUN only.

Thanks for the care and support provided.

Jorge Rubiano.

Documentation

Hi there,

I'm using webrtc-io with nodejs and it seems to work well, I mean I can join a room when I know which one to join.

I would to know if it's possible to notify the server (and by this way, the other online users of any app) when someone open a channel / room, or when someone join one.

I was looking for a documentation on the callbacks and events available on both the client and server sides, but I did not find a lot of things.
Does a complete book / documentation on these API exists anywhere ?
If not, I would to create one, but I need to know which methods are available, so if someone could send me that?
Thanks in advance !

Feature wish ;)

Maybe you could extend your demo to work like apprtc (apprtc.appspot.com), manage
different sessions with random numbers and allow within a session more than two users.

make api more socket.io like

it is not cool to always manually encode messages and parse them on client.
if you want avoid breaking api i suggest to use send() mehtod for internal need and add emit() method for user custom events.

one problem is how to get user control over WebRTC events

Screeching and high pitched sounds

When using webRTC on my mobile device streaming to my computer, it will sometime mess up the audio and have screeching and sounds will be high pitched. Is it a network issue? Or device isn't just supported (Samsung galaxy s2). It works on other Samsung phones.

How to stop all connections

Hi, guys! I've got a problem. WebRTC.io have API for create connections, but how i can stop all connections and go out from room without restart page?
I have tried do this:
[js]
rtc.closeStreams = function() {
rtc.fire('disconnect stream', rtc._me);
for (id in rtc.peerConnections) {
if (typeof(rtc.peerConnections[id]) !== 'undefined') {
rtc.peerConnections[id].close();
}
delete rtc.peerConnections[id];
delete rtc.dataChannels[id];
delete rtc.connections[id];
}
};
[/js]
Yea, it closes all inner streams and stop camera, but server didn't sends to all other participants of room "remove peer connection".

How i can close all streams and alert clients that one of them go out from room ( without page restart)?

Help !!!

Hi Guys

this is first time for me with webrtc and i can not run this app

i want good guide to explains ,how i can run this app step by step.

Regards

Screen sharing

Hello, webrtc.io is great, congratulations for this excellent library, I recently read support for screen capture from Google Chrome. Webrtc.io will in the future perform this action? or it is possible to do, making some kind of change, I have observed through getUserMedia option in the video option associated a number of parameters:

navigator.getUserMedia({
video: {
mandatory: {
chromeMediaSource: 'screen'
// maxWidth: 640,
// maxHeight: 480
}
}
});

Thanks for your attention ..

TypeError

great work webRTC team,

i test it and its great,

just facing an issue after connecting remote video when few minutes some time hours passed facing below error on nodejs console.

[TypeError: Cannot call method 'write' of null]

any idea or solution?

Example client code typo

should close rtc.createStream() function.

<script src="/webrtc.io.js"></script>
<script>
  rtc.createStream({"video": true, "audio":true}, function(stream){
    // get local stream for manipulation
  });
  rtc.connect('ws://yourserveraddress:8001', optionalRoom);
//then a bunch of callbacks are available
</script>

latest version?

When I depend on webrtc.io from npmjs, it says 0.0.4, yet I only see 0.0.3 here. npmjs points to another repository.

Why client disconnect auto every 3 or 5 minutes

I use webrtc.io module in server. use webrtc.io.js in client.

Case one:
first two client work well , but every 3 or 5 minutes later. server received client emit socket close event. but both client work well (In fact, do not disconnect ๏ผŒ network normal) . when other client receive remove_peer_connected event . video is black screen.

Case two:
first two client work well. I kill server app. 20 minutes later or longer. clients both work well also. (I know clients not need signale server exchange message when client connected)

so:

Why server received socket close event from client 3 or 5 minutes later?

Doesn't work with new webkitRTCPeerConnection

Chrome 23 is out and it has deprecated the old webkitPeerConnection00 object. Even if you try to allow support for webkitRTCPeerConnection, it fails on:

var pc = rtc.peerConnections[id] = new PeerConnection(rtc.SERVER, function(candidate, moreToFollow) {

with error "Not an object."

INVALID_STATE_ERR: DOM Exception 11 on messaging

so we have a demo project rolling. it has 2 way video chat, a a data channel for sending control messages and images (stringified and chunked up). However were seeing some nasty dom errors when a user sends a data message sometimes. Its built off the demo app code. user A can send messages fine and are recieved by user B just fine. But when user B tres to send a message (channel.send(message); we get INVALID_STATE_ERR: DOM Exception 11. Not every time just sometimes. Once error happens all message sending from that client will fail.

Any ideas?

in general weve seen the overall performance is pretty bad for data communication as well as stability. Is that to be expected?

Javascript error while coneecting to server.

Kudos to the team for making this library.

The following code gives a JavaScript error on the browser.

CLIENT CODE :
rtc.connect('ws://abc.in:8001');

SERVER CODE :
var webRTC = require('/usr/local/node_modules/webrtc.io/lib/webrtc.io').listen( 8001 );

console.log( "Server Listening" );

webRTC.on( "connection", function() {

console.log( "Hi" ); // This gets executed successfully.

});

Error is :
Uncaught TypeError: Type error
rtc._socket.onopen

Error Location:
webrtc.io.js:65

I am using latest version of Google Chrome which happens to be
Version 30.0.1599.101 m right now, running on Windows 7...

Please resolve

webRTC.io deployment at Windows Azure

hi,

is there any guide / document related to deployment of webrtc.io at windows azure environment.

as i figure it out, it's not working.

what i already test, i deploy plugin using Windows Azure PowerShell for NodeJS it's uploaded but neither see any error nor it's working. please provide any clue or guide related to debug too.

thanks

Starting a video session with webRTC.io works inconsistently

I'm using webRTC.io to create a video chat between two browsers. My experience, with different sequence of events, the session will sometimes start successfully and sometime will not.

Even when running your demo as is, I get the same experience. I'm not sure if the browser banner asking me to allow the use of the camera and microphone is affecting the correct sequence of events.

I could start two browsers once and have a two way video working perfectly. Then create a new room (again with their demo) and fail to connect. Then, sometimes, after refreshing the page on one of the sides, the session will start again.

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.