kinectron / kinectron Goto Github PK
View Code? Open in Web Editor NEWElectron + Kinect + PeerJS = Kinect data broadcast to browsers
License: MIT License
Electron + Kinect + PeerJS = Kinect data broadcast to browsers
License: MIT License
the examples now live at the kinectron-examples repo
I am doing everything according to tutorial, but my code doesn't show any output. I am running this example https://www.youtube.com/watch?v=BV6xK3EOznI code on the same machine as the server.
there is no output in the console or canvas.
When I minify kinectron-client.js using Parcel I get the following error. The un minified file works fine without error.
Firefox can’t establish a connection to the server at ws://localhost:56569/.
On Chrome: parcel WebSocket connection to 'ws://localhost:56569/' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED
There is an error that appears similar but refers to docker, not browser:
parcel-bundler/parcel#377
Multiframe in three.js boxes example is slowing over time. Check for memory leak in application.
next one should be 0.1.0
for both client and server
I've just started using the Kinectron. I can get everything to work fine when I'm using the p5.js editor on the same computer as the server (and have this line):
kinectron = new Kinectron();
When I add the IP address on another computer on our home network, with otherwise the same code, it doesn't get the feed. (I switched to a mac for this.) So, first question: what can cause that?
And second question, how do you set up the peer network? I assume it has to be done on the same PC that's running the server, so that any computer (running a browser running the p5.js file on an HTML page can see the Kinect stream.) That seems like the next step?
i think there are too many branches?
what are the ones apart from master that we should keep?
maybe some old ones could be exported as releases, for documentation purposes?
I'm thinking of working in three.js, rather than the more common (for this project) p5.js. Just wondering if there was any demo three.js files?
Thanks.
Is it possible to broadcast body-index rgbd?
Basically, just broadcast people with rgbd, and eliminate background.
Hi!
Thanks for the great work? Are you aware of an ongoing realsensron project?
Best,
Iman
Kinectron is getting feed(showing skeletons) on server, but example code are not receiving data from kincectron.
The two laptops are connected with the same WiFi. One thing that is also strange: the IP address in Kinectron is not updating, always showing the same address when I restart the software.
The whole setup worked yesterday under the same environment and network.
Any idea how could I fix it?
Thanks!
I'm having a problem with getting the kinect data to pass from my PC over to my Mac. The kinectron data is picked up in browser no problem when I try on the PC that the kinect is connected to.
But when I try to access the kinectron server from my MAC by passing in the IP address there is no response. Could this be to do the college firewall perhaps?
let kinectron;
function setup() {
createCanvas(400, 400);
kinectron = new Kinectron("172.16.31.39");
kinectron.makeConnection();
kinectron.startTrackedBodies(drawBodies);
}
function draw() {
background(220);
}
Thanks!!
Error from Windows built-in extraction process. Not a big issue since the built application will run fine, but source code may not be fully downloaded without those files. Happens when the extracted folder is named in full:
Kinectron-0.0.5.0-win32-x64
but if it's simply changed from that to
Kinectron
or something shorter, the problem disappears.
Files affected: valid-iterable, is-property (directory)
The file name(s) would be too long for the destination folder. You can shorten the file name and try again, or try a location that has a shorter path.
Modified Code --> http://alpha.editor.p5js.org/jay.tailor/sketches/SkZ2_s7V7
Since we can see two bodies (1 from each kinect) on one screen, this means the joint data is being sent over. We wish to see both kinect's joint data on console.log. This way we can extend the program to more than 2 kinects later easily. Do you know how where we can put >> console.log(joint, joint2); << so it can display both joints data?
I am able to see the Peer ID when I run the P5.js application along with kinectron. However, I wanted to know how can I use the Peer ID to collect Kinect data on a different computer that is on the same local network as the computer running the Kinectron application? Also I saw Using the Kinectron API https://kinectron.github.io/docs/api2.html#set-callbacks and was having trouble with Connect to personal peer network part.
I didnt know what I have to put here:
var kinectron = new Kinectron("myusername", { // enter the username to connect to
"host": "myserver.com", // your personal peer server
"port": "9001", // your portnumber
"path": "/", // your path
"secure": "true" // include parameters per peer.js documentation
});
Also, how would use just javascript code to access the data? Do i need to make an HTML webpage? I have attached images below so you can have a look. Thanks!
I'm a total newbie with Kinect. When there's no IP in the argument I get an error in the console:
Failed to load resource: net::ERR_CONNECTION_REFUSED
I'm not sure what happened?
kinectron.bundle.js should be kinectron_client.js or kinectron-client.js
for every release there should be a zip file with the client and a zip file with the server.
can we delete some of the branches?
maybe some of them are not needed at all?
maybe some of them can be releases?
if (kinectronIpAddress !== null ) {
kinectron = new Kinectron(kinectronIpAddress);
} else {
console.warn(Enter the IP address from your Kinectron server. See https://kinectron.github.io/docs/api.html#2-create-an-instance-of-kinectron
);
}
Thanks to Kinectron, I made a great piece of work last semester.
Few Months later, I tried to operate same task but it doen't work.
connecting with kinectron in p5.js is working well but data(joint, image) doesn't come in my p5.js
I'd appreciate your help.
Sorry for not being able to speak English well.
On p5.js I was able to connect multiple kinetics and get the skeletons from both computers I was wondering is their is any way to acquire the data of the skeleton in real time from both kinetics? I want to fusion the skeletons as one and I need the dataset in order to do it.
Sorry I would submit a pull request but I'm still learning this stuff.
Can be fixed in the kinectron.bundle.js on line 1044 change:
var defaultConfig = {'iceServers': [{ 'url': 'stun:stun.l.google.com:19302' }]};
to
var defaultConfig = {'iceServers': [{ 'urls': 'stun:stun.l.google.com:19302' }]};
This issue is coming from the PeerJS Peer Server.
Issue on PeerJS repo peers/peerjs#575
I forked this and made a change to comment out the error message, but the repo has no build instructions. For now I'm commenting out line 105 in node_modules/peer/lib/server.js
// util.prettyError("Message unrecognized");
This is an unsustainable solution as it only works on the local repository and in the build. Need to work on moving off of PeerJS to avoid issue.
What is the proper way to version the client library? I add version numbers when I create new releases of the server, but there's currently no way to know which client library file is the most up to date.
kinectron.makeConnection() is working and I get a peer ID , but when I start the function kinectron.startTrackedBodies(drawSkeleton) the callback won't start.
Uncaught Error: The specified module could not be found.
\\?\C:\kinectron-server-0.0.5.1\resources\app\node_modules\kinect2\build\Release\kinect2.node
I'm using the preview release 0.0.5.1 and got this error after starting kinectron-server.exe
I've got a Windows 10 dual boot in a MacBook Pro Mid 2014 using Bootcamp.
I see that its possible to access joint.depthX and joint.depthY to get the x and y coordinates of the joint on the depth image, but how? Is there a way to see the coordinates in real time so as my hands moves the positions of the coordinates change?
Look into this issue from Vlad Seghete:
I get a lot of noise from Kinectron, and I think it's related to a bug: every once in a while a joint will return 'colorX: "colorY"' instead of a number, and this seems to break all the joints following it. The live preview in Kinectron looks fine though. Do you know how to fix this? I added a screenshot of the json object I got on the client end, the default color coding makes it very easy to spot the problem.
I managed to fix the bug. I don't know how good/generalizable my fix is, but it works for my use case at least: I added the following line at line 3098 of kinectron.bundle.js:
connection.serialization = "json";
and that seems to have been enough.
I am using the Client-side Kinectron API and was wondering if there is a way to see there is a way to see the kinect joint data wihtout using Chrome's console? Also if there is a way to see the position of each indivual joint ex. Head (x,y,z) Neck (x,y,z)? And is there a way to use the Peer ID in C# to display the joint data?
I installed everything
Ran into some trouble because of multiple Python distributions in my computer and had to
make npm and node-gyp point to Python 2.7
Ran into some trouble with Visual Studio, I had installed Visual Studio Community 2017 and had to uninstall and go back to Visual Studio 2015 because of node-gyp.
fix invalid integer error at line 2 peer.min.js
Hello lisa,
First of all congratulations for your work, it's really interesting.
Could you please tell me how to control the frames per second during the acquisition of body tracking and Color? Can you select a constant frame rate (assuming the computer is good enough)?
It is my interest to compare Color and body tracking acquired with the kinect with a video of a RGB camera and the position of the body found through video processing, following the position of physical markers placed on the joints.
To make such a comparison, I would need both videos to have the same frame rate.
Waiting for your comments.
Regards
Leandro
This may have been asked already--I'm a bit unclear on how to set up a personal peer network if you want to connect a second computer that is not on the same wireless network. I imagine the computer that has the Kinect connected to it has to be running off a server hosted on the same computer? I think I'm not even sure where to start thinking about this.
Need to add to head of all example html files.
Having some trouble with the Multiple Frames function on Kinectron.exe
When trying to use the multiple frame feature, what do we put inside the boxes to establish a Peer Id. Currently we have two computers with a kinect each on the same LAN.
What would we enter for peer DI and Server Details? How do we find what our ID is to use?
Thanks in advance
Issue and figured out answer here: https://stackoverflow.com/questions/51292675/mediarecorder-ondataavailable-data-returns-0
Need to implement fix
We used console.log(joint); function and successfully got joint data from kinect # 1 streaming over a LAN to a different computer. The console shows real-time objects with color, depth, position as shown in the picture I sent few days ago.
Now I'm having trouble getting data from 2 kinects streaming onto the same 1 computer over LAN. The problem is only one kinect is sending the joint data. We have to pause one kinect to send it from the other. Is there a way to have both kinect's sending the joint data (picture above) at the same time simultaneously?
In other words, we are is there a way to get data from two exterior kinect-computer clients (at two different IP address, Slave) transferred to a 3rd computer (master) via p5.js.
http://alpha.editor.p5js.org/jay.tailor/sketches/r16WbuplX
Have 2 kinects sending skeleton to a third computer. How can we get the JOINT data from those two kinects simultaneously one one console.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.