19

How would you implement a video chat application using node.js?

Any resources(tutorials, books, links) or a general gameplan/strategy would be greatly appreciated

Pinky
  • 665
  • 2
  • 7
  • 17
  • 1
    Are you talking about central server handling viedo chat? I suggest not doing it at all and do P2P. – freakish Nov 14 '12 at 14:04
  • I haven't built a video chat application before so I don't know the 'preferred' method of implementation, generally looking to create a video chat application that will allow people to communicate over the web – Pinky Nov 14 '12 at 20:18
  • "Questions asking us to recommend or find a book, tool, software library, tutorial or other off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it." – David Ferenczy Rogožan Sep 10 '16 at 03:27
  • @freakish do you know how facebook is doing it? Is fb using server to handle it OR p2p ? – Morris Nov 08 '19 at 09:51
  • @Oucam not sure. But most likely they use servers to some degree. You know, permanent invigilation matters more to those people. – freakish Nov 08 '19 at 10:48
  • A good one: https://youtu.be/ieBtXwHvoNk – Morris Nov 08 '19 at 12:17

2 Answers2

12

Right now there are two Node.js projects for video chat. Both are experimental, but I've heard they work quite well if you can get them running.

https://github.com/webRTC/webrtc.io-client => The current champ for chat.

https://github.com/kdomagal/Web-RTC => Only a demo app

Ash Blue
  • 5,344
  • 5
  • 30
  • 36
7

There is a Project that aims at these sorts of problems (http://www.webrtc.org/). I would probably stream the video to the server and then to the client, or wait til the P2P API is ready and then implement a P2P version if you have time to wait.

Joseph Adams
  • 972
  • 1
  • 6
  • 19
  • is there a huge difference in both implementations(streaming to server then client vs. using P2P?) Generally I'm looking to create a video chat application using node.js that will allow people to communicate over the web – Pinky Nov 14 '12 at 20:14
  • Yes, there is. Sending audio+video data over internet is quite heavy. Central server won't ever scale well. Unless number of users is limited per server. – freakish Nov 14 '12 at 21:49
  • Good point, do you know how most people implement a video chat application in order to have a MVP(minimum viable product) – Pinky Dec 15 '12 at 10:54
  • @user90500 did you ever come up with an MVP for this? – emilebaizel Aug 07 '13 at 20:14
  • @emilebaizel yeh this tutorial should help get you started: http://www.tokbox.com/blog/getting-started-with-opentok-from-0-to-simple-group-video-chat/ – Pinky Aug 09 '13 at 15:43