Onvif-motion-recorder v2.0

Tuy các camera được tuyên bố tuân theo chuẩn Onvif lại không hoàn toàn cư xử giống nhau, đặc biệt là phát sinh các event như motion detected với các tên event được đặt khác nhau. Vì vậy đôi khi phải điều chỉnh code một chút để có thể chạy với nhiều thương hiệu camera khác nhau.

  • Module ffRecorder được thiết kế để dùng ffmpeg ghi hình từ luồng rtsp theo cách clip dài nhất có thể.
  • Module motionRecorder lấy streamUri từ camera và gọi ffRecorder để ghi video clip hay snapshot khi phát hiện chuyển động.

Cả 2 module ffmpeg và motionRecorder đặt trong thư mục lib

Mẫu file mô tả camera tương tự như sau:

//Chỉnh sửa option cho phù hợp với camera
//example.js
let options = {
  id: 2,
  hostname: 'x.x.x.x',
  username: 'admin',
  password: 'password',
  port: 80,

//more options//
  prefix: 'imou',
  outFolder: '/cctv/imou',
  owner: '',
  logLevel: 'normal',
  split: 0,
};

//start motion recorder dùng motionRecorder.js
const mR = require('./lib/motionRecorder.js')
new mR(options)
//hoặc dùng motionRecorder2.js
require('./lib/motionRecorder2.js').start(options)

Chú thích

Phương thức getStreamUri cần được chờ đến khi hoàn tất trước khi truyền streamUri cho ffmpeg. Có thể dùng then của Promise để chờ Promise hoàn tất hoặc dùng async/await.

Cài đặt: Vào thư mục ứng dụng chạy lệnh

npm install --save

Comments Off on Onvif-motion-recorder v2.0

Filed under Software

Comments are closed.