EasyRTC for IE Plugin

1,107 views
Skip to first unread message

Steven Wolk

unread,
Jun 8, 2014, 1:13:06 PM6/8/14
to eas...@googlegroups.com
I just saw that you're open sourcing something called "EasyRTC for IE Plugin"

I'm intrigued and would love to know more.  What can you tell us about this.  Does this open up Internet Explorer to work with WebRTC and all of its functionality.  Where can I find out more.

Thanks,

Steve

Priologic Victoria

unread,
Jun 8, 2014, 2:39:28 PM6/8/14
to eas...@googlegroups.com
Hi Steven,

This is just a pre-announce so far. I was looking for input on open source licensing preferences. A full announcement will trickle out in the next few days or week along with the source code of course.

Doug

Rakesh

unread,
Jul 5, 2014, 8:20:07 PM7/5/14
to eas...@googlegroups.com
Hi,

Understand this has been released in the expo but i cant find a link for same anywhere on the website. Kindly help

Eric Davies

unread,
Jul 7, 2014, 12:22:17 AM7/7/14
to eas...@googlegroups.com
Hi Rakesh,


Note: this is the source code. I wouldn't suggest trying to use it in it's current state. It was stable enough to use for a demo at Webrtc World, but it is not a generally useful product at this point: the api it offers doesn't conform to the webrtc api so it won't work with our EasyRTC client (easyrtc.js) or any other library, there is no security mechanisms to let the user know the camera/microphone is in use, etc. Setting up an environment to build it is also not for the faint-of-heart.

I've taken on the job of bringing it up to a level where you can use it (without having to rewrite your code). I'm aiming for September but this could get waylaid by other projects (projects that bring money into a company tend to take precedence over open-source stuff of course). In the mean time, if you need an IE plugin, Temasys offers a free one [I didn't manage to get their plugin to work with an EasyRTC client, but other groups, like bistri.com have used it, so it can be made to work].

Eric.

sambit swain

unread,
Jul 10, 2014, 8:33:02 AM7/10/14
to eas...@googlegroups.com
Hi, 

I am using eastrtc lib for my vide conferencing app. Is there a way i can make the Temasys plugin to work with it.

Eric Davies

unread,
Jul 10, 2014, 12:53:47 PM7/10/14
to eas...@googlegroups.com
In theory, what you'd need to do is:
    instead of including easyrtc.js in your header, 
    include Temasys's adapter.js, and easyrtc_int.js and easyrtc_lang_en.js in the bottom of the document body

The multiple file inclusion is because easyrtc.js is actually the concatenation of our own adapter.js, easyrtc_int.js, and easyrtc_lang_en.js. Our own adapter.js is the standard one with a bit better handling of version numbers (something put in by an easyrtc user who was using unusual software). The file inclusion has to go into the body because the adapter injects their plugin into the body of the document and that fails if the body hasn't been loaded yet.

Then, as long as you aren't referencing the rebuilt video objects too soon after page load, you should be fine.

In practice, I spent a little bit of time a few weeks ago trying to get this to work with demo_audio_video.html and was unsuccessful. There was a fairly mundane call in their code that was replacing the video tags, a call that was failing for no reason I could see. I hope you'll post your own experiences. Bistri.com uses the Temasys adapter and it seemed to work well.


Alexandre GOUAILLARD

unread,
Jul 12, 2014, 5:04:27 AM7/12/14
to eas...@googlegroups.com
Hi,

We have existing easyrtc users who have reported successful usage of our plugin in their app. It did not seem to painful, and we did not have to support them too much in the process.

We would be happy to provide and maintain a fork of easyrtc.js that supports our plugin to make easy rtc client life easier.

We would be also happy to help Priologic develop their open source plugin in terms of testing, benchmarking, and spec compliance, if they wish, for free. A nice request by Doug would be enough to make it happen.

Cheers,

Alex
CTO Temasys.

Eric Davies

unread,
Jul 12, 2014, 11:33:34 AM7/12/14
to eas...@googlegroups.com
Glad to hear people have gotten their easyrtc's working with your plugin. I'll have to revisit my demo program to see if I can make it fly. I believe it was getClientRect that was failing when I tried.

I'll forward your offer onto Doug. Thank you!

Eric.

sambit swain

unread,
Jul 15, 2014, 5:44:45 AM7/15/14
to eas...@googlegroups.com
I did the following changes.
    - instead of including easyrtc.js in your header, 
    - include Temasys's adapter.js, and easyrtc_int.js and easyrtc_lang_en.js in the bottom of the document body

But got these messages in the console. 
 This appears to be either Safari or IE 
 Browser does not appear to be WebRTC-capable 
 plugin loaded 
 Trying getUserMedia a second time 
 getusermedia failed 

Eric Davies

unread,
Jul 15, 2014, 12:18:49 PM7/15/14
to eas...@googlegroups.com
It sounds like you are trying to do a WebRTC operation before the Temasys plugin is actually loaded. I'm guessing that the application you are using tries to acquire the user media on page load. As an experiment, try the following:
Somewhere you have a top level routine that is calling easyrtc.initMediaSource (either directly or transitively) or easyrtc.easyApp (since it calls easyrtc.initMediaSource). Instead of calling that routine as soon as the page is loaded, call it after some user event, like a button being pressed.
 
The Temasys adapter.js actually supplies a routine that is called after it is safe to use the plugin so you don't have to do timeouts or wait for user events, but for an experiment, a button press is easy and safe.

 

sambit swain

unread,
Jul 18, 2014, 5:50:39 AM7/18/14
to eas...@googlegroups.com
After the Temasys plugin is loaded, I am calling the easyrtc operation onlick of a button. But still getting the getUserMedia error.

Eric Davies

unread,
Jul 18, 2014, 2:34:26 PM7/18/14
to eas...@googlegroups.com
Suggestion: put a break point in the failure function and examine it's argument when it gets called. Might be a clue there.

saran...@gmail.com

unread,
Jul 23, 2014, 5:06:38 AM7/23/14
to eas...@googlegroups.com
You can try or open source plugin (released this morning) at  https://github.com/sarandogou/webrtc-everywhere
It works for both IE and Safari (MAC OSX and Windows). Your feedback is welcome.

Alexandre GOUAILLARD

unread,
Jul 23, 2014, 5:34:15 AM7/23/14
to eas...@googlegroups.com
Looks like the doubango guys (mamadou diop I presume) have done it again. :D

Eric Davies

unread,
Jul 23, 2014, 1:01:30 PM7/23/14
to eas...@googlegroups.com, agoua...@gmail.com
Hi,

I just tried your plugin. I had the same problem with it that I did with the Temasys IE plugin, which prompted me to ponder more deeply what was happening.

When easyrtc acquires a local media stream, it wants to find out what the spatial resolution of the video stream was. To do this, it creates a video object, and then attaches the media stream to that video object. If the resolution wasn't what was asked for, it puts up a warning message to the user. The video object is then disposed of  In both the Doubango plugin and the Temasys plugin, the attachMediaStream method in their respective adapter.js files calls the video object's getBoundClientRect() method, which throws an exception because the video object isn't attached to the document body.

So my question is, using either plugin, what is the correct approach to determine the xy resolution of the video stream?

Also, is there a way in which a client app will be able to use either plugin or will our websites need to be customized towards one or the other?

Eric.

saran...@gmail.com

unread,
Jul 24, 2014, 11:10:38 AM7/24/14
to eas...@googlegroups.com, agoua...@gmail.com
The video size is known asynchronously. After getUerMedia() you have to listen to "onplay" event then check for "videoWidth" and "videoHeight" properties. Check "Choose camera resolution" sample.
Our adapter.js also use theses properties if no default size is provided: https://github.com/sarandogou/webrtc/blob/master/samples/web/js/adapter.js#L333

Eric Davies

unread,
Jul 24, 2014, 6:17:20 PM7/24/14
to eas...@googlegroups.com
Hi Folks,

After modifying my code so that it didn't try to attach media streams to free-floating video objects, the Temasys plugin worked very well. Their new release puts the media request box right in the middle of your window where a user is going to notice it (as opposed to underneath the URL bar where it often gets ignored). The only technical issue I have is that it's not apparent how to take a snapshot of a media stream, but if you don't need to do that, you should be fine. If you want to give it a try, send me email and I'll send you the files I used (it's a bit early for me to put them on the beta branch).

Non-Temasys-related IE issues: Our close buttons (implemented in SVG) added by easyApp to peer video tags don't show up, and I had trouble using socket.io version 0.9 with IE. 

I'm still excited by the Sarandogou IE plugin but I've run into issue there I can't work around, but hopefully the it's developer(s) will have time to work with me so we can support it in easyrtc.

Eric.

lsxre...@163.com

unread,
Jul 31, 2014, 8:24:32 AM7/31/14
to eas...@googlegroups.com

Fred Clark

unread,
Aug 27, 2014, 1:27:14 PM8/27/14
to eas...@googlegroups.com
We are trying to get the Temasys plugin to work with EasyRTC and have executed the buildTemasVersion.bat file.

1 - But while running the app on IE, we got an error on the browser console.
Its says :
SCRIPT16385: Not implemented
File: easyrtc.js, Line: 2001, Column: 13 ( videoObject.autoplay = true; )
If i comment the line "videoObject.autoplay = true;" then it works fine. But in place of the self video it just shows a white screen.

2 - Also the new API doesn't connect properly for a group call.

Can anyone help us over this hump?

Yossi

unread,
Oct 25, 2014, 5:49:42 AM10/25/14
to eas...@googlegroups.com
Hey Fred,

Did you manage to have a working sample at the end?


Fred Clark

unread,
Oct 25, 2014, 6:10:37 AM10/25/14
to eas...@googlegroups.com
We haven't gotten it to work yet, but are currently back working on it.  Any ideas?

Yossi

unread,
Oct 26, 2014, 4:16:52 AM10/26/14
to eas...@googlegroups.com
I just managed to get a working example which I am testing with the latest code of TemaSys and EasyRTC:
http://188.226.214.67:8080/demos/demo_audio_video_simple.html
http://188.226.214.67:8080/easyrtc/easyrtc.js <-- this is where I put in the adapter.. [notice that you can build it..]

If you build easyrtc.js in Linux you should run these commands:
cd ./node_modules/easyrtc/api
cat adapter.js easyrtc_int.js easyrtc_lang_en.js > easyrtc.js

Instead of creating an element in the DOM, I got the element of self-video:
videoObj = document.getElementById('selfVideo');

Then I commented out the removal of the element [that was created]:
/*if (videoObj.removeNode) {
     videoObj.removeNode(true);
}
else {
     ele = document.createElement('div');
     ele.appendChild(videoObj);
     ele.removeChild(videoObj);
}*/

It seems EasyRTC checks for the size of the camera with a new bogus element that is created (and probably not injected to the DOM), and the TemaSys plugin doesn't like it.
Eric said somewhere that he managed to make TemaSys work in that way, so I tried to trace the code.

Please let me know if it works well for you. I am also testing that now.

sambit swain

unread,
Oct 28, 2014, 6:27:27 AM10/28/14
to eas...@googlegroups.com
Thanks, now i can get the video display on ie. But it does not connect with other users. You can open 2 instances of https://testweb.connectuscom.com:47555/#4EBM0QIU#Video on IE on 2 different machines to check the error.

Reply all
Reply to author
Forward
0 new messages