{"id":28174375,"url":"https://github.com/2bad/onvif","last_synced_at":"2026-04-10T01:21:22.705Z","repository":{"id":230639987,"uuid":"776238729","full_name":"2BAD/onvif","owner":"2BAD","description":"A TypeScript implementation of the ONVIF Client protocol supporting Profile S (Live Streaming) and Profile G (Replay)","archived":false,"fork":false,"pushed_at":"2025-05-12T12:30:06.000Z","size":1017,"stargazers_count":1,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-12T13:39:35.961Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/2BAD.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-03-23T00:59:19.000Z","updated_at":"2025-05-12T12:30:09.000Z","dependencies_parsed_at":"2024-03-31T03:25:48.001Z","dependency_job_id":"dab0f3a9-fbc2-4901-bcb6-aef77d695b3c","html_url":"https://github.com/2BAD/onvif","commit_stats":null,"previous_names":["2bad/onvif"],"tags_count":3,"template":false,"template_full_name":"2BAD/ts-lib-starter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2BAD%2Fonvif","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2BAD%2Fonvif/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2BAD%2Fonvif/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2BAD%2Fonvif/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/2BAD","download_url":"https://codeload.github.com/2BAD/onvif/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254430309,"owners_count":22069909,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-05-15T22:16:06.650Z","updated_at":"2026-04-10T01:21:22.663Z","avatar_url":"https://github.com/2BAD.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# @2bad/onvif\n\n[![NPM version](https://img.shields.io/npm/v/@2bad/onvif.svg)](https://www.npmjs.com/package/@2bad/onvif)\n[![License](https://img.shields.io/npm/l/@2bad/onvif)](https://opensource.org/license/MIT)\n[![GitHub Build Status](https://img.shields.io/github/actions/workflow/status/2BAD/onvif/build.yml)](https://github.com/2BAD/onvif/actions/workflows/build.yml)\n[![Code coverage](https://img.shields.io/codecov/c/github/2BAD/onvif)](https://codecov.io/gh/2BAD/onvif)\n[![Written in TypeScript](https://img.shields.io/github/languages/top/2BAD/onvif)](https://www.typescriptlang.org/)\n\nA 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](https://github.com/agsh/onvif) package.\n\n## Features\n\nThis library provides a wrapper for the ONVIF protocol, allowing you to:\n- Get information about your NVT (Network Video Transmitter) devices\n- Access media sources\n- Control PTZ (Pan-Tilt-Zoom) movements\n- Manage presets\n- Detect devices in your network\n- Control device events\n- Get information about NVR (Network Video Recorder) Profile G devices\n- Obtain recordings lists\n\n## Installation\n\n```bash\nnpm install @2bad/onvif\n```\n\n## Key Improvements\n\n- Full TypeScript support with interfaces describing ONVIF data structures\n- Stable npm package with regular maintenance\n- Improved error handling and stability fixes\n- Maintained type definitions\n- Compatible with the original API structure\n\n## Usage\n\n```typescript\nimport { Onvif } from '@2bad/onvif';\n\n// Connect to a device\nconst device = new Onvif({\n  hostname: '192.168.1.123',\n  username: 'admin',\n  password: 'password',\n  port: 80\n});\n\nawait device.connect()\n\n// Get snapshot URI\nconst snapshotUri = await device.media.getSnapshotUri({ profileToken: 'profile1' })\n```\n\n## Compatibility\n\nThis 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.\n\n## Documentation\n\nFor detailed API documentation and supported ONVIF commands, please visit our [GitHub repository](https://github.com/2bad/onvif).\n\n## Acknowledgments\n\nThis package is based on the excellent work done by [agsh](https://github.com/agsh/onvif) and the ONVIF community. We've built upon their foundation to provide a stable, typed implementation for the Node.js ecosystem.\n\n[![ONVIF](https://www.onvif.org/wp-content/themes/onvif-public/images/logo.png)](http://onvif.org)\n\n## Contributing\n\nContributions are welcome! Feel free to submit issues and pull requests.\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F2bad%2Fonvif","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F2bad%2Fonvif","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F2bad%2Fonvif/lists"}