Skip to content

WowzaMediaSystems/wse-plugin-onvif

Repository files navigation

WSE Plugin ONVIF

This provides a WSE Module that discovers ONVIF devices using profile S/Streaming. Once a device is detected, the module will create a stream file in WSE and connects it automatically if configured to do so. Also provides an option to create a stream target if the stream needs to be pushed externally. Module uses ONVIF Profile S (Streaming) to communication with devices.

Build

To automatically build the jar, see WSE Builder project to create the wse-plugin-builder

build.sh

Copy built jar file into the WSE lib directory.

Usage

Add the Server Listener in Server.xml:

<ServerListener>
	<BaseClass>com.wowza.wms.plugin.onvif.OnvifServerListener</BaseClass>
</ServerListener>

To run in docker, host mode needs to be enable:

  • docker-compose.yaml: network_mode: "host"
  • docker run: --network="host"

Provided is a docker-compose-yaml to run on a linux system

Important

Docker only works for linux, does not work for Windows or OSX.

"The host networking driver is supported on Docker Engine (Linux only) and Docker Desktop version 4.34 and later." dockerdocs

Server.xml Properties

Name Default Description
onvifScanFrequency 60 How often to scan for new devices (seconds)
onvifStreamfileApplication live The application to create the stream file in
onvifStreamfileConnect false Connect/Start the stream file when created
onvifStreamfileName {{id}} Define what the stream name should. Can use variables: {{id} {{ip}} {{name}} {{location}} {{hardware}}
onvifStreamTargetCreate false Create a stream target for each device detected
onvifStreamTargetUrl null URL to connect to with a stream target. Can use variables: {{id} {{ip}} {{name}} {{location}} {{hardware}}
onvifStreamfileRtspFilterUnknownTracks true Set stream file property rtspFilterUnknownTracks
onvifStreamfileRtspStreamAudioTrack false Set stream file property rtspStreamAudioTrack
onvifUsername null Username for cameras
onvifPassword null Password for cameras
onvifProfile HIGH What profile/resolution of stream to select [ HIGH | LOW | FIRST | LAST ]
onvifDiscoveryTimeout 2000 Discover socket timeout (Milliseconds)
onvifDiscoveryTTL 1 Number of hops for discovery
onvifDeviceHourOffset 0 adjust the UTC time returned by the device for devices that report wrong time
onvifDebug false Debug ONVIF devices

Devices

Following devices have been tested/verified.

Make Model/(ONVIF Model) Module Ver Notes
Innosecu INB5GR37F-B/N401-IR 1.0.4
Amcrest IP5M-T1179EB-AI-V3 1.0.4
Amcrest IP5M-T1179E 1.0.4 Daylight savings has UTC time off by 1 hr
Jennov PS6006/JM800S5_AF 1.0.4

Send us the .json file created in the WSE content directoy so we can keep the list above updated

Contact

Wowza Media Systems, LLC

License

This code is distributed under the Wowza Public License.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors