RecordRTC over Socket.io

npm install recordrtc-socketio cd ./node_modules/recordrtc-socketio/ # to run it! node server.js # now open: http://localhost:9001
There are some other NPM packages regarding RecordRTC:
This experiment:
- Records audio/video separately as wav/webm
- Emits both files using socket.io
- Socket.io server end receives emitted data; and writes wav/web files to disk
- Node.js code invokes ffmpeg to merge wav/webm in single "webm" file
- Socket.io server emits
merged
event; and passes-back the URL of the merged file
Client side stuff:
var socketio = ; var files = audio: name: fileName + '.wav' type: 'audio/wav' dataURL: dataURLaudio video: name: fileName + '.webm' type: 'video/webm' dataURL: dataURLvideo ; socketio;
Server side code that captures above data:
iosockets;
After merging; server side code that passes back the URL of the merged file:
socket;
Client-side code that receives merged-file URL:
socketio;
merger.bat
)
Windows Batch File (merger.bat
file is executed to invoke ffmpeg functionalities on windows:
@echo off"C:\ffmpeg\bin\ffmpeg.exe" -i %1 -i %2 %3
It is assumed that you already have installed ffmpeg on your system. Though, EXE file is hard-coded to "C:\ffmpeg\bin\ffmpeg.exe" however you can easily edit it according to your own installations.
.sh
file
merger.sh
file is executed to invoke ffmpeg functionalities on Mac/Linux/etc.
ffmpeg -i video-file.webm -i audio-file.wav -map 0:0 -map 1:0 output-file-name.webm
Using Linux; ffmpeg installation is super-easy! You can install DEVEL packages as well.
How to install ffmpeg on windows?
- Download ffmpeg and extract ZIP file
- Rename extracted directory to "ffmpeg"
- Right click over "My Computer" icon and select "Properties" context-menu option
- Select "Advance system settings" from top-left section
- Click "Environment Variables..." button from "Advanced" tab
- Click "New..." button and in the "Variable name" box, enter "Path".
- In the "Variable value" box, enter extracted directory full URI e.g. "C:\ffmpeg"
- Click "OK" and done!
http://www.wikihow.com/Install-FFmpeg-on-Windows
How to install ffmpeg on Mac OSX?
Make sure you have homebrew installed. Then run following command:
brew install ffmpeg --with-libvpx --with-theora --whit-libogg --with-libvorbis
How to test?
In the node.js command prompt window; type node server
. It will run socket.io server at port 9001
. Then you can open index.html file on any webserver.
License
RecordRTC is released under MIT licence . Copyright (c) Muaz Khan.