12

I would like to create an easy video blogging solution utilizing WebRTC technology to enable recording of video/audio directly from the browser, similar to Youtube's My_Webcam. The server component should be based on Node.js.

I found some Node.js libraries for general WebRTC connection managment (webRTC.io, Holla, EasyRTC), but it seems they don't enable recording of streams on the server.

What's the best way to implement server-side recording? Are there libraries and tutorials available?

bluepuma
  • 191
  • 1
  • 2
  • 8
  • according to this: http://www.youtube.com/watch?feature=player_detailpage&v=E8C8ouiXHHk#t=2339 it's not trivial. You have to use the C++ library and open a PeerConnection to the Server. – Svetlin Mladenov Sep 26 '13 at 08:09
  • @bluepuma Have you found a solution for your problem? I am also interested in saving streams on server. – jpen May 18 '14 at 10:14
  • you can use node-webrtc lib for server side stream receiving. But node-webrtc is not well documented. Thanks – BeingMIAkashs Jun 23 '14 at 05:49

2 Answers2

8

This guy has a ton of interesting WebRTC experiments, including audio/video recording: https://github.com/muaz-khan/

Here's a demo of recording: https://www.webrtc-experiment.com/RTCMultiConnection-v1.4-Demos/RecordRTC-and-RTCMultiConnection.html

It collects the audio and video streams on the client and gives you a blob of audio and a blob of video that you can then upload/splice together.

Not exactly what you were hoping for, I think, but could probably get the job done. Hope that helps.

Jesse Patel
  • 489
  • 4
  • 8
0

You may use node-webkit to achieve this. Node webkit is essentially a browser in node.js.

piyush
  • 601
  • 3
  • 23
  • 2
    This is not how it should be done. It's perfectly possible to record a stream using a script processor node of the remote stream and send each PCM sample to a remote node server. –  Sep 28 '15 at 09:54
  • @user427390 you are right for audio recordings, but this is not possible for video recording – alwe Aug 07 '18 at 21:29