1.0.2 • Published 3 years ago

rtsp-downloader v1.0.2

Weekly downloads
9
License
ISC
Repository
github
Last release
3 years ago

rtsp-downloader

npm.io

@auther jayli

Records RTSP Audio/Visual Streams to local disk using ffmpeg. Make sure ffmpeg is installed.

Install

npm i --save rtsp-downloader

Run test script

Local script:../example/home.js or run:

npm start

Usegae

const Recorder = require('rtsp-downloader').Recorder
const FileHandler = require('rtsp-downloader').FileHandler;

Example

const Recorder = require('rtsp-downloader').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/tmp/videos',
    folderSizeLimit : 10, // 10 G
    name: 'cam1',
})
// Starts Recording
rec.startRecording();

Recording Audio

const Recorder = require('rtsp-downloader').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/tmp/videos',
    name: 'cam1',
    type: 'audio',
})

rec.startRecording();

// stop recording
setTimeout(() => {
    console.log('Stopping Recording')
    rec.stopRecording()
    rec = null
}, 125000)

Capturing Image

const Recorder = require('rtsp-downloader').Recorder

var rec = new Recorder({
    url: 'rtsp://192.168.1.12:8554/unicast',
    folder: '/Users/tmp/imgs/',
    name: 'cam1',
    type: 'image',
})

rec.captureImage(() => {
    console.log('Image Captured')
})

Managing Media Directory

const FileHandler = require('rtsp-downloader').FileHandler;
const fh = new FileHandler()

// RETURNS DIRECTORY SIZE
fh.getDirectorySize('/Users/tmp/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/tmp/videos/*', () => {
    console.log('Done')
});

Setting custom filename formats

const Recorder = require('rtsp-downloader').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/tmp/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();