Skip to content

2BAD/onvif

Repository files navigation

@2bad/onvif

NPM version License GitHub Build Status Code coverage Written in TypeScript

A TypeScript implementation of the ONVIF Client protocol supporting Profile S (Live Streaming) and Profile G (Replay). This is a stable, typed fork of the original onvif package.

Features

This library provides a wrapper for the ONVIF protocol, allowing you to:

  • Get information about your NVT (Network Video Transmitter) devices
  • Access media sources
  • Control PTZ (Pan-Tilt-Zoom) movements
  • Manage presets
  • Detect devices in your network
  • Control device events
  • Get information about NVR (Network Video Recorder) Profile G devices
  • Obtain recordings lists

Installation

npm install @2bad/onvif

Key Improvements

  • Full TypeScript support with interfaces describing ONVIF data structures
  • Stable npm package with regular maintenance
  • Improved error handling and stability fixes
  • Maintained type definitions
  • Compatible with the original API structure

Usage

import { Onvif } from '@2bad/onvif';

// Connect to a device
const device = new Onvif({
  hostname: '192.168.1.123',
  username: 'admin',
  password: 'password',
  port: 80
});

await device.connect()

// Get snapshot URI
const snapshotUri = await device.media.getSnapshotUri({ profileToken: 'profile1' })

Compatibility

This package maintains compatibility with code written for the original onvif package (v0.6.x) through a compatibility layer. If you're migrating from the original package, your existing code should work with minimal changes.

Documentation

For detailed API documentation and supported ONVIF commands, please visit our GitHub repository.

Acknowledgments

This package is based on the excellent work done by agsh and the ONVIF community. We've built upon their foundation to provide a stable, typed implementation for the Node.js ecosystem.

ONVIF

Contributing

Contributions are welcome! Feel free to submit issues and pull requests.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published