RTSP Stream Recorder.
Records RTSP Audio/Visual Streams to local disk using ffmpeg
$ npm install --save node-rtsp-recorder
const Recorder = require('node-rtsp-recorder').Recorder
var rec = new Recorder({
url: 'rtsp://192.168.1.12:8554/unicast',
timeLimit: 60, // time in seconds for each segmented video file
folder: '/Users/sahilchaddha/Sahil/Projects/Github/node-rtsp-recorder/videos',
name: 'cam1',
})
// Starts Recording
rec.startRecording();
setTimeout(() => {
console.log('Stopping Recording')
rec.stopRecording()
rec = null
}, 300000)
If your camera generates empty .mp4 files when recording, you might need to update its audio codec by passing in one usable by your camera (e.g.,
aac
) in the Recorder's constructor. For example:
var rec = new Recorder({
url: 'rtsp://192.168.1.12:8554/unicast',
timeLimit: 60, // time in seconds for each segmented video file
folder: '/Users/sahilchaddha/Sahil/Projects/Github/node-rtsp-recorder/videos',
name: 'cam1',
audioCodec: 'aac'
})
const Recorder = require('node-rtsp-recorder').Recorder
var rec = new Recorder({
url: 'rtsp://192.168.1.12:8554/unicast',
timeLimit: 60, // time in seconds for each segmented video file
folder: '/Users/sahilchaddha/Sahil/Projects/Github/node-rtsp-recorder/videos',
name: 'cam1',
type: 'audio',
})
rec.startRecording();
setTimeout(() => {
console.log('Stopping Recording')
rec.stopRecording()
rec = null
}, 125000)
const Recorder = require('node-rtsp-recorder').Recorder
var rec = new Recorder({
url: 'rtsp://192.168.1.12:8554/unicast',
folder: '/Users/sahilchaddha/Sahil/Projects/Github/node-rtsp-recorder/videos',
name: 'cam1',
type: 'image',
})
rec.captureImage(() => {
console.log('Image Captured')
})
const FileHandler = require('../src/helpers/fileHandler')
const fh = new FileHandler()
// RETURNS DIRECTORY SIZE
fh.getDirectorySize('/Users/sahilchaddha/Sahil/Projects/Github/node-rtsp-recorder/videos/', (err, value) => {
if (err) {
console.log('Error Occured')
console.log(err)
return true
}
console.log('Folder Size is ' + value)
})
// REMOVES ALL MEDIA FILES
fh.removeDirectory('/Users/sahilchaddha/Sahil/Projects/Github/node-rtsp-recorder/videos/*', () => {
console.log('Done')
})
const Recorder = require('node-rtsp-recorder').Recorder
var rec = new Recorder({
url: 'rtsp://192.168.1.12:8554/unicast',
timeLimit: 60, // time in seconds for each segmented video file
folder: '/Users/sahilchaddha/Sahil/Projects/Github/node-rtsp-recorder/videos',
name: 'cam1',
directoryPathFormat: 'MMM-D-YYYY',
fileNameFormat: 'M-D-h-mm-ss',
})
// Default directoryPathFormat : MMM-Do-YY
// Default fileNameFormat : YYYY-M-D-h-mm-ss
// Refer to https://momentjscom.readthedocs.io/en/latest/moment/04-displaying/01-format/ for custom formats.
// Starts Recording
rec.startRecording();