--
You received this message because you are subscribed to the Google Groups "kurento" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kurento+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Greetings:
My primary browser is Firefox. Be advised: all tests are running *within* my loal network. No network firewalls are involved. I want this working within my network before I test it over the Internet.
On Machine 3 (Macintosh with USB), I was running Firefox v29. In theory, WebRTC should work without problems st that version, but I upgraded it to v31 anyway. The upgrade on the Macintosh involved replacing the entire old version, Once it was installed, I attempted to access the WebRTCLoopback application again. It now shows the local stream, where it did not before.
On Machine 2 (running Windows 8.1) I was running Firefox v30. I upgraded to v31 and retried WebRTCLoopback. There was no change in its behavior. The input stream still does not show, though my machine indicates that it is accessing the camera.
On Machine 1 (Windows 8), it was already displaying the local stream. That machine was running Firefox v28. Even though it was working fine with Firefox v28, I upgraded to v31 just for consistency. I retested. It still shows the local stream.
All of the machines are now running Firefox v31. Machines 1 and 3 are displaying the local stream. None of the machines are displaying the remote stream.
The reason for the failure to display the remote stream is unknown -- but I do know it was never port- related. I made an independent inquiry about UDP ports and Kurento security on the Ubuntu forum. According to the Ubuntu folks, the UDP ports are open by default (for now), so it was unnecessary for me to do anything to open them.
Nevertheless, I did monitor Firefox's logs and ran webrtcloopback again. There are no Javascript errors, but when I look at the network traffic there are some really odd behaviors in the Javascript.
The first odd behavior I notice is that somewhere after my request gos out to my HTML file, I get a 304 return which directs my browser to upload file adapter.js at a place called rawgit.com (https://rawgit.com/GoogleChrome/webrtc/master/samples/web/js/adapter.js). This GET request is completed without problems.
The second odd behavior I see is that, after I click on the "click me to start" button, something in the file Demo.js keeps sending a GET request to websocket on demo01.kurento.org:8888 (http://demo01.kurento.org:8888/thrift/ws/websocket).
The webrtcloopback application apparently sends this request periodically, and there is no response to it. The application keeps sending this request and receiving no response.
The obvious questions are: why are we depending on a JS file that is in a place called rawgit???
And why are we sending a GET request to some odd demo01 system on an obvious kurento site in order to access websocket, violating the Javascript rule of communicating only with the site you loaded from???
Of course, a more important question is: where is the correct place to look for these assets and what do I edit in order to point the Javascript to the right place?
Greetings:
Thanks for the useful info. I am making progress.
All machines except Machine 2 are getting the local stream. It should be noted that, as explained in my previous post, all machines are now running Version 31 of Firefox. For some reason, however, Machine 2 still fails to display the local stream.
I made the appropriate changes to the Demo.js file. The variable now points to the websocket that is on my server. For a time I was still failing to connect to websocket, but eventually I found out about the kws connector.
Now, when I click on the "Click me to start" button, and subsequently connect to the camera, the connector logs something like the following:
22:04:55.259 [888-exec-8] INFO - c.k.k.j.i.ws.JsonRpcWebSocketHandler - Client connection stablished from /192.168.1.104:61703
so I know something is going on.
Unfortunately, I am still not seeing the remote stream.
There are some questions I have:
1. I notice that the default KMF ports opened for the connector are 9090 and 9191. The KMF server has ports 9090 and 9091 open. Which of the ports does the connector use to talk to KWS? It should be noted that, thinking the connector needed to contact KMF using the second port, I changed the connector's ports to 9090 and 9091. I got a "port already in use" failure when I restarted the connector, so I changed 9091 back to 9091. What port is the connector actually using to talk to KMF.
2. Should the 9191 port be opened for the connector?
3. I notice that in the connector's instructions the startup should uses the localhost (127.0.0.1) address. The KMFserver is running on the same machine as the Connector. Is the localhost address the correct one to use?
Supplemental: I am having trouble downloading adaprer,js. Apparently the URL pointing to it is being redirected somewhere, and when I attempt to download it I am getting 404 file not found failures. Is there an alternate place where I can get this file???
Clarification:
There is apparently a "thrift" directory that contains a "websocket", which my machine apparently does not have (ws:<my-URL>:8888/thrisf/ws/websocket). I need to get any and all files/apps associated with that URL. There is apparently no instruction anywhere about how to set up this URL. Without it my remote stream will not work...
On Thursday, August 14, 2014 8:12:34 PM UTC-4, Robert Brown III wrote:There appears to be one last problem:
There is no instruction, in the tutotial or elsewhere, on where to get Thrift. It is not installed with the server, and the Bower command doesn't install it, either (I had hoped it would)...
Could you please tell me where I can get that? Thank you...
There appears to be one last problem:
There is no instruction, in the tutotial or elsewhere, on where to get Thrift. It is not installed with the server, and the Bower command doesn't install it, either (I had hoped it would)...
Could you please tell me where I can get that? Thank you...
I'm afraid you're mixing KAS and KMC concepts. As I have explained in several previous posts. Kurento documentation is currently being refactored and you should not take previous documentation versions as something written in stone. Just for you to get out of the mess. Please, go to the following URL and install the connector (KMC) as explained there:
http://builds.kurento.org/release/stable/kmf-media-connector.zip(which happens to be the URL I got the zip file from in the first place).
Once you have installed the connector in that way, you should see that:1. Browser (KWS) and connector (KMC) communicate through WebSockets using port 88882. KMC send requests to KMS using thrift through port 90903. KMS send events and notifications to KMC through port 9900Kurento should not need any additional port for working. If you just want to use kws-tutorial examplex, no KAS installation is needed (forget about JBoss)
Greetings:
In answer to your various questions:
1. Apparently, there is nothing "listening" on my machine. A search for "active" connections yields nothing.
2. The ws URL is: ws://192.168.1.14:8888/thrift/ws/websocket
Note that the address is local in my network, as is the machine I am using to test the demo. I am trying to get everything to work locally before I attempt anything over the Internet.
3. The contents of media-server.log are large and have a lot of escape characters in them (why would you folks put such characters in a log file that is supposed to be looked at by humans???) . I have attached a copy of the log file.
Note that when I connect to the MediaConnector (after giving the application permission to use my camera and mic), nothing happens in the media server -- or so it appears. No new entries appear in the media-server.log file when I attempt to initiate the loopback.
Is there anything wrong here?
On Wednesday, August 27, 2014 1:57:37 PM UTC-4, lulop wrote:Hi,Please, execute the following command so that we can see your port configurationsudo netstat atnp | grep LISTENPlease, send us also the "ws://" URL that you have at the demo.js file of the WebRtcLoopbackTo conclude, share with us the log of the connector, which can be found at /var/log/kurento/media-connector.logL.
--
You received this message because you are subscribed to the Google Groups "kurento" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kurento+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
<media-server.log>
>The media server is not receiving anything. Please, send us the log file of the media connector (no the one of the media server). It should >be located at /var/log/kurento/media-connector.log
Sorry about that. I thought you wanted the server log.
Could you be able to send us the full trace of the exception?
--
// Promise interface ("thenable")
this.then = function(onFulfilled, onRejected)
{
return new Promise(function(resolve, reject)
{
function success()
{
var result;
if(onFulfilled)
try
{
result = onFulfilled(self);
}
catch(exception)
{
console.error(exception); <== I added this line here!
return reject(exception);
}
resolve(result);
};
"Creating KwsMedia ..." demo.js:33
TypeError: kwsMedia is null
Stack trace:
startVideo/onOffer/<@http://192.168.1.14:8080/demo.js:35:4
KwsMedia/<@http://192.168.1.14:8080/bower_components/kws-media-api/js/kws-media-api.js:304:5
success@http://192.168.1.14:8080/bower_components/kws-media-api/js/kws-media-api.js:261:13
[64]</EventEmitter.prototype.emit@http://192.168.1.14:8080/bower_components/kws-media-api/js/kws-media-api.js:8693:7
[97]</module.exports/</attempt/<@http://192.168.1.14:8080/bower_components/kws-media-api/js/kws-media-api.js:14307:13
[64]</EventEmitter.prototype.emit@http://192.168.1.14:8080/bower_components/kws-media-api/js/kws-media-api.js:8668:9
[104]</</WebsocketStream.prototype.onOpen@http://192.168.1.14:8080/bower_components/kws-media-api/js/kws-media-api.js:14945:3
kws-media-api.js:265
What demo are you running? Can you send us demo.js file?
--
You received this message because you are subscribed to the Google Groups "kurento" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kurento+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
<demo.js>
OK, all:
Where is the page with the latest demos and kws media API??? There seems to be no direct link to those demos on any of the many kurento websites I found, and when I originally found the demos it was pretty much by accident. So: where are they???
We are releasing version 5.0.0 in some days, you can be able to fetch its code from the develop branch on our GitHub repo, but probably it could be a little bit unstable yet...
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia
|| navigator.mozGetUserMedia || navigator.msGetUserMedia;
/*
* Set up desired constraints
*/
var constraints = { audio:false,video:true };
/*
* This function to be called upon successful stream creation(?)
*/
function madeStream(aStream) {
var video = document.querySelector("video");
window.stream = aStream;
video.src = window.URL.createObjectURL(aStream);
/*
* At this point, we play the video!
*/
video.play();
}
/*
* This function is to be called should the attempt to create the stream fail.
*/
function failureWarning(theFail) {
alert("Failed to get user media! "+theFail);
}
if(navigator.getUserMedia) {
navigator.getUserMedia(constraints,madeStream,failureWarning);
}
else
{
alert("This video function is not supported on this browser!");
}
<video autoplay></video>
I've checked the code several times against API documentation. As far as I know I am using it correctly.
The problem is, that the video does not behave consistently across my browsers. This inconsistency is not between different browsers, but between installations of the same browser!
I am attempting to run this test on 4 different machines:
Machine 1 is a Macintosh that is running Firefox Version 31.0
Machine 2 is a Windows machine running Windows 7 and Firefox Version 31.0
Machine 3 is a Windows laptop that is running Windows 8.0 and Firefox Version 31.0
Machine 4 is a Windows laptop that is running Windows 81 and Firefox Version 31.0
Note for emphasis: all machines are using Firefox Version 31.0.
All machines, when accessing the web page, properly request access to the camera (note: in my constraints the audio is set to false).
When I grant access on Machine 1, I see the local video.
When I grant access on Machine 2, I see nothing.
When I grant access on Machine 3, I see the local video.
When I grant access on Machine 4, I see nothing.
Important note: The camera turns on on all machines. Debugging the Javascript code, I see that the MediaStream object is successfully acquired and that the video play function is successfully called.
Further debugging reveals that the video source is dynamically changed to reflect the acquired MediaStream object. A typical result of adding the object to the video tag is shown below:
<video src="mediastream:f7b34f2e-55d5-9148-ae7c-dfec4e436dde" autoplay=""></video>
This all happens in the same way on all machines, again all running the same version of Firefox.
I have further discovered that when the video tag is first rendered on the browser it appears as an empty Flash object. On Machines 1 and 3, this object changes to a working MediaStream video the moment the video tag's source is changed. For some reason, on Machines 2 and 4, the video tag does not update, but continues showing as a Flash object which remains empty (appearing to show nothing).
I originally thought the problem was a Firefox bug or
misconfiguration, so I downloaded the latest version of Chrome onto the 4
machines and tested them. The behavior is exactly the same in Chrome on
all 4 machines. The only difference is that on the machines where the
Flash video didn't change, there is a black blank box where the flash
object is.
I know the following about the problem:
It isn't the browser because the behavior is the same in Chrome and Firefox.
It isn't the browser version because they are all the same version.
It isn't the operating system because one is working on a Macintosh and another on a version of Windows.
I considered the possibility it was the camera driver or the OS version. I updated everything. The behavior is the sameDefinitely, it's a getUserMedia related problem. The first thing I would do is to use Google adapter.js instead of remove by hand the prefixes as you are doing. You should find the URL to the latest version on the tutorials. Besides that, our main test platform is Chrome Dev on Ubuntu, could you be able to check that?
--