amirsanni / video-call-app-nodejs Goto Github PK
View Code? Open in Web Editor NEWA conference call implementation using WebRTC, Socket.io and Node.js
Home Page: https://chat.1410inc.xyz
License: MIT License
A conference call implementation using WebRTC, Socket.io and Node.js
Home Page: https://chat.1410inc.xyz
License: MIT License
Hi there,
I couldn't find a SECURITY.md
in your repository and am not sure how to best contact you privately to disclose a security issue.
Can you add a SECURITY.md
file with an e-mail to your repository, so that our system can send you the vulnerability details? GitHub suggests that a security policy is the best way to make sure security issues are responsibly disclosed.
Once you've done that, you should receive an e-mail within the next hour with more info.
Thanks! (cc @huntr-helper)
Hi Team,
I have used your code for video calling in my application. When i testing the application with wifi with other person the video of the second person is not visibling each other. But when we connect to the mobile network the video is displaying to each other. Let me know what will be the real issue on it.
I am unable to run this code.
how would I able too?
hello sir,
wonder full code , which i m looking for.. this is code working fine in localhost...
how could i change it to work between LAN
please help...
hi,
code working locally very fine, but when i hosted it to live server its not working video streaming of users are showing them.
like my video not showing to user2, and user2's video not showing me.
can you help me out.
thank you.
Hi good day, your project was awesome.
I tried your demo online, it was running smoothly. But, I intended to run in localhost. In my own machine is working fine, but when I network in a different machine (Windows 10, Updated Google chrome) it won't work as I assumed.
In the different machine, the error says that
"User media, not available".
backtrace:
at Object.getUserFullmedia(helper.js:65)
at getAndSetUserStream (rtc.js:108)
at rtc.js:37
Application error
2020-04-20T12:21:46.196792+00:00 app[web.1]: > [email protected] start /app
2020-04-20T12:21:46.196798+00:00 app[web.1]: > node src/app.js
2020-04-20T12:21:46.196799+00:00 app[web.1]:
2020-04-20T12:22:44.053438+00:00 heroku[web.1]: State changed from starting to crashed
2020-04-20T12:27:47.694247+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/"
Hello, sir
i am a student and want to test your app online.But when i tried to upload on heroku is gives error of logs.like npm start than npm crash
Express was not defined
Please Help!!!...How to host this app on local or any public server
Hello Sir/Medam,
We are checking demo on our mobiles and it is working in android devices but not working in Iphone(Mac os). So anyone please give me a solution.
Thanks.
The app does not working whenever 2 person connected from different networks. I tried this after deploying to heroku.
What is the reason of this issue?
Here is the deployed link,
https://video-chat-002.herokuapp.com/
First run is ok. On reload script stop working. (Ubuntu. Chrome)
if ( socket.adapter.rooms[data.room].length > 1 ) {
^
TypeError: Cannot read properties of undefined (reading 'length')
Not working with different network.With in same network working fine. I tested on our side and also your demo.
Good day. Can we change client's video quality? And how?
Hello Mr. Author,
Thank you for a good sample. Can you please help with this issue.
It does not support iPhone mobile browser? Any solution for this, please.
Thank you.
Hello Amir, i followed your code from a long time, its so nice that u update projects time to time.
Amir i want to create a html5 css mobile hybrid app client of your nodejs conference app please guide.
Please explain what things are need to be port in mobile app and how to access socket server from remotely thru mobile device..
it may involve cors, how to bind cors to mobile app only..
please guide..
The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.
Apache/2.4.41 (Ubuntu) Server at chat.1410inc.xyz Port 443
A potential security vulnerability has been disclosed to your repo.
Plz visit url https://www.huntr.dev/bounties/1839f99e-8caa-4e7d-ad1a-b725379070a7 to see the report.
If you dont want to signup then provide your email address here #50 and report will be sent to your provided mail-address .
Also submitted a PR for Fix #51
Hi
Your code is working very well, i tried to deploy in vercel now. Sh but am getting npm issue. Can you please tell about deployment. How to deploy and test the code in live
I don't know what is the problem but when the room has more than 3 visitors..
same person is displayed multiple times even in demo url...
Hi,
i found that its not working for more than 3 person in same room.
Even tested your demo link https://chat.1410inc.xyz..
When more than 3 person are connected then
Sometime there is blank screen for room no video is displayed.
I tried to use in my project but not able to use.
Can you help ?
I am unable to pass the details of the newly added user from events.js to rtc.js and then to stream.js. I need to do to show the user names below the streaming videos of each user. I have tried everything, Can you please help me in achieving this. Maybe I might be asking silly thing but variable and values and communication amongst files, I found it difficult,
Turn server used is provided by xirsys.com add creation of new account in README
I am Android Developer and i need the video call application.So, can you help me ?
I have setup on my server and working fine.
But how can i manage to android mobile can you help me which api and how to join room using android Application or How to join any port or socket the i will join the video conference in android mobile.
Thank amirsanni
chat process not working
hello sir
my question is how i can deploy this on ubantu server
and how much users can connect at a time
Appreciating your nice project!
node app.js is not completing the command run. Is there any alternative way to run?
I tried this link https://chat.1410inc.xyz. but it is not working on the different network connections.
Hello,
I followed all your instructions, but still not working on my server: https://letstalk.jmahuelgas.com/
Note: I edited my document root folder permission into 777 and running on Apache.
function getPartnerNameFromUrl() {
const pathSegments = window.location.pathname.split("/");
return pathSegments[2];
}
(async function initWebRTC() {
const partnerName = getPartnerNameFromUrl();
if (!partnerName) {
console.error("partnerName not found in URL");
return;
}
let pc = new RTCPeerConnection(h.getIceServer());
let socket = io("/stream");
let username = "";
let myStream = "";
try {
myStream = await h.getUserFullMedia();
socket.emit("subscribe", {
room: partnerName,
username: username,
});
socket.on("newUserStart", (data) => {
init(false, data.sender);
});
socket.on("ice candidates", async (data) => {
if (data.candidate) {
await pc.addIceCandidate(new RTCIceCandidate(data.candidate));
}
});
socket.on("sdp", async (data) => {
if (data.description.type === "offer") {
await pc.setRemoteDescription(new RTCSessionDescription(data.description));
myStream = await h.getUserFullMedia();
myStream.getTracks().forEach((track) => {
pc.addTrack(track, myStream);
});
let answer = await pc.createAnswer();
await pc.setLocalDescription(answer);
socket.emit("sdp", {
description: pc.localDescription,
to: data.sender,
sender: username,
});
} else if (data.description.type === "answer") {
// Ensure we're in the correct state to set the remote description
if (pc.signalingState === "have-local-offer") {
await pc.setRemoteDescription(new RTCSessionDescription(data.description));
} else {
console.error("Unexpected state for setting remote description:", pc.signalingState);
}
}
});
} catch (error) {
console.error("Error initializing WebRTC:", error);
}
function init(createOffer, partnerName) {
if (createOffer) {
pc.onnegotiationneeded = async () => {
let offer = await pc.createOffer();
await pc.setLocalDescription(offer);
socket.emit("sdp", {
description: pc.localDescription,
to: partnerName,
sender: username,
});
};
}
pc.onicecandidate = ({ candidate }) => {
socket.emit("ice candidates", {
candidate: candidate,
to: partnerName,
sender: username,
});
};
pc.ontrack = (e) => {
displayRemoteStream(e.streams[0]);
};
}
function displayRemoteStream(stream) {
const existingVideo = document.querySelector(".remote-video");
if (existingVideo) {
existingVideo.srcObject = stream;
} else {
const partnerName = getPartnerNameFromUrl();
const video = document.createElement("video");
video.id = `${partnerName}-video`;
video.srcObject = stream;
video.autoplay = true;
video.controls = true;
video.className = "remote-video";
const videoContainer = document.getElementById("videos");
videoContainer.appendChild(video);
}
}
})();
</script>
Hi,
I followed all your points, but still not working on my sever: https://api.woo-interactive.com/
Hi amirsanni, I am really so thankful to you for your video calling app code. I am trying to make some features like, before joining a meeting a user can choose options for muting audio and video, and in the video chatting section the user name(the name is already saved while joining) will be shown up when hovering the video panel. I have been trying to make these for a few days but can not get any way to do it. Now I think you can help me out.
The app is not working. I think the code is not same as demo.
I believe as this is a peer to peer communication there will be a limitation with the bandwidth and hence a number of participants allowed to be in a room?
If you have done the testing are you aware of how many can be allowed to be added in the room?
If I want to add such a limit that can be done on the server code. Correct me if I am wrong?
Regards,
Pravesh Bansal
why doesn't working on public ip address? Unique Identifier: not generate while calling from public ip address
Hi!
If you connect more than 8 people peers start gettin disconnected...
Hi the set up is working on localhost when i move to server am recieving that error on the console
mydoman.com/socket.io/?EIO=3&transport=polling&t=NFzVw6a [HTTP/2 404 Not Found 7
it seems socket.io is not available
Hi,
Thanks for the wonderful code, as per my current requirement I need to show the joined user name, and also it is possible to manage partners' audio and video from the host.
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.