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();