PHPackages                             rockyjvec/onvif - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. rockyjvec/onvif

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

rockyjvec/onvif
===============

Onvif IP camera library.

231.3k16[5 issues](https://github.com/rockyjvec/Onvif/issues)PHP

Since Jan 14Pushed 5y ago4 watchersCompare

[ Source](https://github.com/rockyjvec/Onvif)[ Packagist](https://packagist.org/packages/rockyjvec/onvif)[ RSS](/packages/rockyjvec-onvif/feed)WikiDiscussions master Synced 2mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Onvif IP Camera library for PHP
===============================

[](#onvif-ip-camera-library-for-php)

This library will be the basis of a Network Video Recorder (NVR) application I am writing in Laravel. It provides a php interface to Onvif compatible cameras. I have only tested it with the RLC-410.

It supports subscribing to motion events.

Installation
------------

[](#installation)

Pull in the package through Composer.

Run: `composer require rockyjvec/onvif`

Usage
-----

[](#usage)

Device discovery:

```
$r = Onvif::Discovery();
print_r($r);

```

You need to specify the endpoint, username, and password of the camera you want to connect to. Here is the basic code to get the capabilities of the camera:

```
$o = new Rockyjvec\Onvif\Onvif("http://camera.hostname:8000/onvif/device_service", "username", "password");
var_dump($o->device->GetCapabilities());

```

The various services are available as properties of the Onvif class: $o-&gt;device, $o-&gt;media, $o-&gt;events, ...

The capabilities are parsed when constructing the Onvif class and services are null if the camera doesn't have that capability

For information about the available methods, etc. See "ONVIF WSDL and XML Schemas Specifications" section on this page:

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance16

Infrequent updates — may be unmaintained

Popularity29

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity31

Early-stage or recently created project

 Bus Factor1

Top contributor holds 71.4% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/9ab5db5f7ced664bbd98875f2ecfb8b2e5591c4f8ffce0f07eb63d585f80df23?d=identicon)[rockyjvec](/maintainers/rockyjvec)

---

Top Contributors

[![rockyjvec](https://avatars.githubusercontent.com/u/8481561?v=4)](https://github.com/rockyjvec "rockyjvec (5 commits)")[![cycne](https://avatars.githubusercontent.com/u/13666847?v=4)](https://github.com/cycne "cycne (2 commits)")

### Embed Badge

![Health badge](/badges/rockyjvec-onvif/health.svg)

```
[![Health](https://phpackages.com/badges/rockyjvec-onvif/health.svg)](https://phpackages.com/packages/rockyjvec-onvif)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
