Giter VIP home page Giter VIP logo

rtc's People

Contributors

cathylill avatar damonoehlman avatar nathanoehlman 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

rtc's Issues

rtc-media module

The github README says to just install rtc module with npm. But node is complaining it can't find rtc-media module.

The rtc-media module has 3 errors.

Error: Cannot find module 'rtc-media'
at Function.Module._resolveFilename (module.js:440:15)
at Function.Module._load (module.js:388:25)
at Module.require (module.js:468:17)
at require (internal/module.js:20:19)
at Object. (/private/var/www/eyehawk.io/index.js:4:16)
at Module._compile (module.js:541:32)
at Object.Module._extensions..js (module.js:550:10)
at Module.load (module.js:458:32)
at tryModuleLoad (module.js:417:12)
at Function.Module._load (module.js:409:3)

Support node.js client?

We're using rtc.io in http://flowhub.io with http://noflojs.org to allow remote/live programming/debugging on devices from our webapp. Would like to use the same protocol for running automated test from a node.js CLI tool.

We're experimenting with the wrtc node.js library to support this. Would you be open to have support for the rtc.io offer-exchange for node.js clients in rtc itself? Or is it something that should stay separately?

live Video streaming

I want to create a room based live video streaming website with integrated chat. Are there any modules in rtc.io that could help my purpose.

Signalling server in production

Thank you for these open source tools.
The switchboard reference implementation is in-memory not designed to be deployed at scale; can you recommend a signalling server for use at scale with the rest of the rtc stack?

Global leaks

Running a simple tests which creates two datachannels and sends between them shows:

Error: global leaks detected: Primus, RTCSessionDescription, RTCIceCandidate, isValid

ran using mocha.checkLeaks()

feature request: one to many broadcast

we wanted build a classroom app which only teacher can speak and student can only listen, is there a way to take advantage of webRTC and rtc.io to achieve this?

the only solution i can think of is: make nodejs server and teacher as Peer, and nodeJS server send video stream to students via websocket, which is not really P2P

The casing of the RTC global (RTC vs rtc vs Rtc)

I'd like to get this sorted before @silviapfeiffer's presentation today, as after that I think we should lock it in stone. My thoughts:

  • The ALLCAPS for globals seems to be an "artifact of the crockfordian era", which I believe we are coming to an end of. After working in the liberated lands of effective JS module systems it feels a little clunky, especially when exposing other internals (i.e. RTC.quickconnect).
  • Mixed caps is definitely used by some libraries (Backbone, Ember, et al) so could be an option.
  • All lowercaps feels comfortable to me, and is used by more progressive libraries (such as angular, d3, etc).

I'd like to do a quick straw poll and get some additional input before locking this in...

Upgrade to rtc-captureconfig^2

The rtc package should definitely move to using rtc-captureconfig version 2. This can be achieved pretty easily by running:

npm install rtc-captureconfig@2 --save

And then doing a rebuild, minor version bump and publish...

A little bit more accurate data channel example

The data channel example shown in the tutorial http://rtc.io/tutorial-rtc-text-chat.html has some inaccurate code which causes wrong example behaviour in case of 3 or more nodes in the chat. Particularly, when the second channel is created, the message.onkeyup function which was initialized before, is reinitialized by the just created function:

    messages.onkeyup = function () {
        channel.send(this.innerHTML);
    };

Such a bug in the tutorial makes imaging of your RTC package worse.

I suggest the following a little bit more precise code to replace a tutorial code. This code creates a channel registry which is updated by two different session channel-related events, and allows to create as many nodes in the chat, as simultaneous channels allowed in the RTC implementation.

    // Set RTC options
    var rtcOpts = {
        room: 'test-data',
        signaller: '//switchboard.rtc.io',
        capture: false,
    };

    // call RTC module
    var rtc = RTC(rtcOpts);

    // A contenteditable element to show our messages
    var messages = document.getElementById('messages');

    // Channels registry
    var channels = {};

    // Send message to every registered channel
    messages.onkeyup = function () {
        for(var i in channels) {
            channel = channels[i];
            channel.send(messages.innerHTML);
        }
    };

    // Bind to events happening on the data channel
    // and fill the channel registry
    function bindDataChannelEvents(id, channel, attributes, connection) {
        channels[id] = channel;

        // Receive message
        channel.onmessage = function (evt) {
            messages.innerHTML = evt.data;
        };
    }

    // Clean channel registry for closed channels
    function unbindDataChannelEvents(id, channel, name) {
        delete channels[id];
    }

    // Start working with the established session
    function init(session) {
        session.createDataChannel('chat', {
            ordered: true,
            maxRetransmits: 12
        });
        // Bind to important session events
        session.on('channel:opened:chat', bindDataChannelEvents);
        session.on('channel:closed:chat', unbindDataChannelEvents);
    }

    // Detect when RTC has established a session
    rtc.on('ready', init);

Mouse and Keyboard capture using rtc

Hello RTC Team,
Is there any application / module that was developed for remotely controlling the mouse and keyboard strokes using RTC?

regards
Anish nema

Update to new standards?

In Firefox JavaScript Console there are messages like:

RTCIceServer.url is deprecated! Use urls instead.

And

Mandatory/optional in createOffer options is deprecated! Use {"offerToReceiveAudio":true,"offerToReceiveVideo":true} instead (note the case difference)!

The messages don't really bother me, but I suppose they might be dropped at some point. So should these be updated?

navigator is not defined

/private/var/www/eyehawk.io/node_modules/rtc-capture/index.js:5
navigator.getUserMedia = navigator.getUserMedia ||
^

ReferenceError: navigator is not defined
at Object. (/private/var/www/eyehawk.io/node_modules/rtc-capture/index.js:5:1)
at Module._compile (module.js:541:32)
at Object.Module._extensions..js (module.js:550:10)
at Module.load (module.js:458:32)
at tryModuleLoad (module.js:417:12)
at Function.Module._load (module.js:409:3)
at Module.require (module.js:468:17)
at require (internal/module.js:20:19)
at Object. (/private/var/www/eyehawk.io/node_modules/rtc-media/index.js:1:77)
at Module._compile (module.js:541:32)

Capturing video stream on server

Hello,

I have the following use-case I would like to implement:

  • A set of users (e.g. 5 users) are conferencing in a room.
  • For each user, I want to capture their video stream on the server and do processing (e.g. machine-learning analysis).

I can't find anything in the other rtc modules for allowing this. One idea I had was to set up another server that would be another "client" for the main rtc server, meaning that each room would have an extra client connected that is the video processing server. However, I'm not sure how that would work given that the modules were written for browser-based clients.

Thank you very much!

Migrate to using rtc-capture and rtc-attach over rtc-media

As discussed internally, I'd like to deprecate rtc-media in favour of more concise, targeted implementations. Both the rtc-capture and rtc-attach modules are now functionally complete so I'd like to look at performing a migration to these modules and at the same time bump the major of rtc-quickconnect to 3.x

Happy to do this work unless there are other takers, and if not, I'll schedule it in the in the next few days.

Can't install rtc-io/rtc with bower

https://www.npmjs.org/package/rtc says "bowser install rtc-io/rtc" which I think refers to "bower install rtc-io/rtc" (no Mario character required). But when I do so I get :

$ bower install rtc-io/rtc
bower rtc#* cached git://github.com/rtc-io/rtc.git#3.1.2
bower rtc#* validate 3.1.2 against git://github.com/rtc-io/rtc.git#*
bower rtc#~3.1.2 ENOTFOUND Package rtc not found

Is there something wrong with bower.json? (noob remark : could the newline removed in commit 90fd373 be the cause ?)

Publish to CDNjs

It looks like CDNjs is going through a little bit of a transition process right now with regards to it's autoupdate process (see cdnjs/cdnjs#3638), but once this is stable we should definitely get the various dist resources publishing.

Not urgent, just something to do :)

An example in the README covering dc only use

Seems to be a little bit of confusion around the fact that rtc can be used for dc only comms. While I'd recommend using rtc-quickconnect in this case, probably worth including an example that demonstrated the capture: false case.

Problems with example

Folks, I am trying to run the simple example in the rtc.io website https://rtc.io/tutorial-rtc-video-chat.html

I am getting the following error: Uncaught TypeError: Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'.

And the problem is that acctually the rtc object does not have the remote and local attributes:

// Display local and remote video streams
localVideo.appendChild(rtc.local);
remoteVideo.appendChild(rtc.remote);

I used the last RTC release 3.3.0. Am I missing something here?

is it maintained any more? Deprecated methods of Google Chrome

I have an extremely simple example and got following errors:

https://drive.google.com/file/d/16ICY28UJQM19veagpqJe4j_-Sr26zEeZ/view

Uncaught Error: Failed to execute 'createObjectURL' on 'URL': No function was found that matched the signature provided.TypeError: Failed to execute 'createObjectURL' on 'URL': No function was found that matched the signature provided. at attachToElement (bundle.js:30799) at module.exports (bundle.js:30832) at Step.attach.local (bundle.js:30849) at addKgoTask (bundle.js:30449) at localVideo (bundle.js:60) at createConference (bundle.js:53) at Object.2../config.js (bundle.js:89) at s (bundle.js:1) at e (bundle.js:1) at bundle.js:1 attachToElement @ bundle.js:30799 module.exports @ bundle.js:30832 attach.local @ bundle.js:30849 __kgoRunStep__ @ bundle.js:30556 runTask @ bundle.js:30638 run @ bundle.js:30649 (anonymous) @ bundle.js:30671 (anonymous) @ bundle.js:30634 Step.done @ bundle.js:30566 complete @ bundle.js:30548 handleCapture @ bundle.js:31065 bundle.js:35344 WebSocket connection to 'wss://switchboard.rtc.io/' failed: Error in connection establishment: net::ERR_CONNECTION_TIMED_OUT attemptNext @ bundle.js:35344 connect @ bundle.js:35406 signaller.connect @ bundle.js:33075 module.exports @ bundle.js:33212 module.exports @ bundle.js:32957 module.exports @ bundle.js:31210 createConference @ bundle.js:33 2../config.js @ bundle.js:89 s @ bundle.js:1 e @ bundle.js:1 (anonymous) @ bundle.js:1 bundle.js:35344 WebSocket connection to 'wss://switchboard.rtc.io/primus' failed: Error in connection establishment: net::ERR_CONNECTION_TIMED_OUT attemptNext @ bundle.js:35344

Multi user chat : is that possible ?

Does it relay streams ?
My goal is to create some video chat application with 20 users: and webrtc seems to have limits to 6 beacuse of its peer2peer technology.

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.