Categories
Knowledge Support Support exacqVision Server Products

Steps to handle Protego cameras without #transport=rtsp

Description 

Steps to handle Protego cameras without #transport=rtsp

Product 

  • exacqVision Server
  • Protego branded cameras

Expected Results 

Camera connects normally without any issues.

Actual Results 

Camera connects then drops, then connects then drops on repeat. Only when the camera has #transport=rtsp on the end does the connection stay stable.

Solution

  1. Navigate to the server installation folder
    1. Windows – Typically this is under C:\Program Files\exacqVision\Server
    2. Linux – Typically this is under ~/usr/local/exacq/server
  2. Find the file named onvifnvcpi.json and TAKE A BACKUP!
  3. You can open and edit this in notepad or nano or whatever you prefer.
  4. CTRL+F to open the find menu
    1. Search for “Sunell”
    2. Enter “Protego” as an alias, ensuring to follow the format of the other aliases. Also ensure not to delete any other lines in this file as it can mess with other onvif functionality.
  5. Save and close the file.
  6. Restart the ExacqVision Server service.
    1. In windows this can be done from within the “services” program, searching “services” in the start menu should bring it up.
    2. In Linux open terminal and type.
      1. sudo systemctl stop edvrserver
      2. sudo systemctl start edvrserver
  7. Check connected cameras and you should be able to remove #transport=rtsp.
Categories
Video Library Configuration exacqVision Client exacqVision Server Youtube Video Library Categories Products

RTSP Server

Learn to use the embedded RTSP Server to provide video streams to external services.
Categories
Knowledge Support Support exacqVision Server Products

RtspServerPI may not be installed on Linux

Description

RTSP server is no longer seen in the tree under Add IP camera after upgrade to 20.12. If the server version is rolled back to 20.09 it can be seen again. This does not seem to affect windows installs​

Tested Version

20.12.x

Platform

Linux

Steps to reproduce

  • install/update server

Expected result

  • rtspserverpi is installed (in the plugins folder)

Actual result

  • rtspserverpi is not installed (is in plugin-store folder)
  • attempting to install through dpkg-reconfigure results in move error output

Work Around

  • manually install the plugin:
    sudo mv /usr/local/exacq/server/plugin-store/RtspServerPI.so /usr/local/exacq/server/plugins/rtspserverpi.so
  • restart the server
Categories
Knowledge Support Support exacqVision Server Categories Products

RTSP library crashes with invalid h264 packet from camera

Description

Rtsp_lib is a layer of code that interface with Live555 for streaming video/audio/metadata and the camera plugins Axis/Dahua(essentials)/illusta3/illustraFlex/Hikvision(e-series)/Samsung/Panasonic/Sony/IQEye/UDP/RTSP/Pelco). We have seen an issue with Pelco Optera and IllustraFlexcameras that emit either larger than allocated userdata or 0 length sps packets and caused the server to crash. This is not very common but need to be aware. And typically this occurs when streaming in h264 with high resolution and bitrate.

<br>

Version Introduced

4.4.0.23012

<br>

Platform

All

<br>

Steps to reproduce

  • Connect to Pelco Optera
  • Stream with h264 and high quality/bitrate setting.

<br>

Expected result

  • Plugin handles the invalid h264 packets and continues to stream.

<br>

Actual result

  • Server crash

<br>

Work Around

  • Lower resolution/bitrate.

<br>

Version Fixed

8.1.22.105173

<br>

Keywords

live555

Categories
Knowledge Support Support exacqVision Server Categories

IP Plugin Overrides

The standard form for exacqVision camera addresses is as follows:

{host}{?parameter_1=value_1}…{?parameter_n=value_n}{#override_1=value_1}…{#override_n=value_n}

  • The host is required and must be in the format of an IPv4 address or FQDN (dot separated domain location).
  • The 1 or more name=value parameters are separated by ? and are optional. These are passed to the device.
  • The 1 or more name=value overrides are separated by # marks and are optional, but always last. These are passed to the plugin to modify plugin behavior.

<br><br>

Overrides

PluginOptionUsage
ACTitransport=httpHTTP stream support for legacy platforms and user data
ACTitransport=rtspRTSP stream with separate metadata socket for motion/input trigger/video loss/etc.
Axiszoom=configBy default zoom only cameras support.
Axiszoom=operationForce zoom only operation and controls as part of PTZ and live view.
Axisblocksize=offOn by default, but could turn off blocksize in the RTSP session for some cameras with streaming issues.
Axistransport= {udp,tcp,rtsph,rtsphs}Transport overrides for use with Secure Streaming
Axistunnelport={1025-65535}Override for tunnel port when not the same as CGI port. Use as a workaround for only having 1 port input box/XML attribute.
Axistimestamp={server,trusted}Override timestamp to server time(server) for problem cameras or to camera adjusted by RTSP/RTCP per RFC(trusted)
Arecontnone
Dahuatransport= {udp,tcp,rtsph}Transport overrides for use with Secure Streaming
Dahuatimestamp = serverStamp with server time.
Dahuatimezone=cameraAllow camera to retain timezone when connected to exacq (do not push GMT as we normally do).
Dahuatimezone=utcpush GMT to device, this is also default if not provided.
Hikvisiontimestamp=rtpForce to camera timestamp without waiting for RTCP sync.
Hikvisiontransport={tcp,udp,rtsph,rtsphs}Transport overrides for use with Secure Streaming
Hikvisiongetparameter_override=trueNeeded for HQHI-SATA encoder to prevent stream interruption.
Hikvisionosd_override=offAllow camera time OSD to be displayed (when enabled on camera)
Hikvisiontimezone=cameraAllow camera to retain timezone when connected to exacq (do not push GMT as we normally do).
Hikvisiontimezone=serverPush GMT timezone to camera (because Illustra standard does NOT do this as default)
Hikvision1 timestamp=serverStamp with server time.
Hikvision1 timestamp=rtcpStamp with server time until sync with RTCP server report.
Hikvision1 support=legacySupport original CGI interface.
Hikvision1 support=isapiSupport ISAPI interface.
Illustra3transport=udpStream RTSP session with UDP protocol.
Illustra3zoom=operationForce zoom only operation and controls as part of PTZ and live view.
IllustraFlexnone
Illustranone
Ioimagenone
Ipxnone
IQEyenone
Onviftransport=udp1 TCP socket for RTSP and up to 6 UDP sockets for video, audio, and application data and their RTCP streams.
Onviftransport=rtsp1 TCP socket for RTSP with all other streams interleaved in it.
Onviftransport=httpDefault 2 TCP sockets for RTSP over HTTP over TCP. ( 1 long POST and 1 long GET )
OnvifProfile=xConnect to a specific profile number.
Onvifnat=1Support nNAT translation to WAN address.
Onviftimestamp=serverStamp with server time.
Onvifbank=xSelect 4 channel encoder banks.
Onvifhttp=1.0For Samsung SPE-100/400 that requires http1.0 for live555.
Onvifsupport=profile-sForce Profile-S implementation for cameras that do not fully support Profile-T.
Onvifevents=pull or streamSelect metadata event mode when the manufacturer option is ALL.
Onvifuse_caps={on,off}Use deprecated GetCapabilities for when GetServices is poorly implemented.
Onviftunnel_alive = auto,get_parameter,set_parameter,options,noneKeep alive mechanism during RTPS-over-HTTP, defaults to auto.
Panasonictransport=udpStream RTSP session with UDP protocol.
Panasonictimestamp=serverStamp with server time.
Pelcotransport=udpStream RTSP session with UDP protocol.
RTSPtransport=udpStream RTSP session with UDP protocol.
RTSPtransport={tcp,udp,rtsp,rtsph,rtsphs}All Transport overrides.
RTSPtimestamp=serverStamp with server time.
RTSPtimestamp=rtcpStamp with server time until sync with RTCP server report.
RTSPtimestamp=trustedStamp with cameras time adjusted by RTSP/RTCP per RFC.
RTSPstream=xSelect specific stream number.
RTSPtrack=xSelect specific track number.
RTSPtunnelport={1025-65535}Tunneling port replacing the :portnum on URL.
RTSPembed_port=*Forced RTSP URL format in tunnel.
RTSPhttp=1.0,1.1Forced RTSP URL version number.
RTSPbc_audio=supportedBackchannel audio out.
RTSPbc_samplerate=xxxxBackchannel sampling rate.
RTSPbc_samplesize=xxxxBackchannel sampling size.
RTSPbc_mode=tsBackchannel timestamp mode(duration(default)/timestamp using RTCP adjustment).
Samsungtransport={tcp,udp,rtsp,rtsph,rtsphs}Transport overrides for use with Secure Streaming
Samsungtunnelport={1025-65535}Tunneling port if different than one used for CGI.
Samsunghttp=1.0,1.1Fix for some older devices.
Samsungembed_port=*Fix Internal URL inside tunnel if needed.
Sanyonone
Sonytimestamp=serverStamp with server time.
StarDotnone
UDPnone
Vivoteksupport=legacyUse legacy API and support.
Vivoteksupport=onefwUse OneFW API and live555 stream.

1 The use of these overrides requires the use of IPv4 dotted address, FQDNs cannot be used.
<br><br>

Override Definitions

OverrideDescription
transportStream session with the specified protocol { TCP | UDP }.
timestampStamp frames with server or camera time.
timezone{ UTC | camera | server } Determine if camera timezone is set to UTC+0, left as camera or set to that of server.
zoomOverride configuration or operation zoom function.
blocksizeOn by default, but could turn off blocksize in the RTSP session for some cameras with streaming issues.
profileConnect to profile number N; N is a number from 1 to the number of profiles supported by the camera.
natSupport NAT translation to WAN address.
bankSelect 4 channel encoder banks. N is 1 – number of banks, usually in set { 1 | 2 | 3 | 4}.
supportOverride support API. For example, used by Vivotek to support either legacy or oneFw.
streamSelect a specific stream ID for devices supporting multiple streams.
trackSelect a specific track for devices supporting multiple media tracks.
tunnelportWorkaround for our XML and GUI only giving us one box for port. Used if tunnel port is different than CGI and does not come from CGI.
embed_portValue does not matter. Forces RTSP URL inside tunnel to put port in the URI if it is default. A small selection of cameras need ip:554 even when in a tunnel over 80

<br>

Categories
User Guides Documentation exacqVision Server Categories Products

ExacqVision RTSP Server Guide (Legacy)

exacqVision-RTSP-Server-Guide.pdf
Categories
Knowledge Support Support Categories Products exacqVision Integrations

RTSP Plug-in used with ExacqVision Software

The RTSP plug-in supports generic streaming of audio and video using the RTSP/RTCP/RTP protocol. The plug-in automatically configures the streaming transport to either UDP or TCP. The default when the device is connected is TCP; if it fails to connect, it tries to connect through UDP. The plug-in does not support any configuration — it is only an audio/video streaming plug-in. The device must be configured through its web page or other application provided by the manufacturer.

<br>

Video Formats Supported

MJPEG
MPEG4
H.264

<br>

Audio Formats Supported

L16: uncompressed 16-bit audio with 8000 sampling rate (ACTi)

G711-muLaw: compressed PCM audio into 8-bit samples with 8000 sampling rate (AD, IPX, Pelco)

AAC: single channel (AXIS)

G726-16,24,32,40: ADPCM encoded audio with 2, 3, 4, and 5 bits per sample with 8000 sampling rate (AD, Panasonic, AXIS, Sony)

You can find the address to choose for your camera model from a number of locations online or by referring to the manufacturer’s manuals and documentation.

<br>

Exacq-Specific Controls

In the RTSP URL, control parameters provide additional control of the streaming functionality. These controls are used to override the default behaviors. The typical default behavior is to select the first video and audio stream available. The default transport protocol is TCP, and if the setup process failed with 461 or Unsupported Transport protocol, it switches to UDP and restarts the session. The usage of the override controls is to append the normal RTSP URL with # and follow with key word = value.

<br>

Video Stream Index Override Control

The key word for this control is stream, and the expected value is one of the available video stream index numbers. The stream index is the index of video stream found within the described response. Thus, if two video streams and one audio stream are available, index 1 would refer to the first stream and index 2 would refer to the second video stream. For example:

rtsp://[user-name]:[password]@[ip-address]:[port]/[path]#stream=1

To select video stream number 2 from the ACTi camera:

rtsp://Admin:123456@192.168.3.61:7070#stream=2

<br>

Video Track Index Override Control

The key word for this control is track, and the expected value is one of the available video track index numbers. The track index is the logical control path of a stream that is part of the the described response. Thus, a track with the value of 1 would refer to the the video stream with a control path of track1. For example:

rtsp://[user-name]:[password]@[ip-address]:[port]/[path]#track=1

To select video track number 2 from the ACTi camera:

rtsp://Admin:123456@192.168.3.61:7070#track=2

<br>

Transport Protocol Override Control

The key word for this control is transport, and the expected values are tcp, udp, or http. TCP and UDP are used to control the RTP streaming transport method. HTTP is for RTSP tunneling over HTTP, such as with ONVIF cameras. For example:

rtsp://[user-name]:[password]@[ip-address]:[port]/[path]#transport=udp

To select UDP as the transport protocol for the ACTi camera:

rtsp://Admin:123456@192.168.3.61:7070#transport=udp

Also note that multiple additional control parameters could be appended to the URI. The following example would stream the first track in UDP mode:

rtsp://Admin:123456@192.168.3.61:7070#stream=1&transport=udp

<br>

Categories
Knowledge Support Support exacqVision Client Categories Products

How do I open an RTSP stream in VLC?

VLC is a good tool to use if you are having issues with an IP camera. If the camera can provide you with RTSP stream data, you can display that stream in VLC and see if you have the same issues you experience with the camera ExacqVision. This helps troubleshoot an issue because it removes the ExacqVision software from the equation and allows you to reproduce issues when you contact a camera manufacturer for help.

<br>

The following video and steps show how to use VLC to open an RTSP stream:

<br>

  1. Install VLC on your Windows, Ubuntu, or Mac machine from the following URL: http://www.videolan.org/vlc/
  2. Open the ExacqVision Client software and select the Configuration page.
  3. Navigate to the Add IP Cameras page and uncheck (disconnect) the camera you want to view in VLC.
  4. Make note of the camera’s IP address (such as 192.168.1.45).
  5. Minimize the ExacqVision Client.
  6. Select Media and then Open Network Stream.
  7. Enter the RTSP URL. i.e.- rtsp://ipaddress:port/subdirectory
  8. Click Play to open the RTSP stream in VLC.

<br>

If you see the same issues experienced in the exacqVision Client software, you now have more evidence that either the network or the camera is the source of the issue. You may need to contact the camera manufacturer for more support. If you do not see the same issues, contact ExacqVision Technical Support.

<br>

Categories
Knowledge Support Documentation Support exacqVision Server Products exacqVision Integrations

What IP cameras are supported by ExacqVision?

IP Camera Integration Database

ExacqVision supports thousands of cameras from a large number of manufacturers. The IP Camera Integrations database provides a complete list of test records for supported camera models. Search by brand, model, or firmware version, and filter by camera feature.

The following video describes how to use the database to its full extent:

<br>

What if my camera isn’t listed as supported?

It would be impossible to list every camera ever made. However, just because a camera model isn’t listed doesn’t necessarily mean it will not work with ExacqVision. It DOES, however, mean that we cannot assure any features or functionality.

  1. If you find that a particular firmware version from your camera manufacturer is listed as supported on another model from the same brand, there is a good chance it will work with the same Plugin/Device Type listed.<br><br>
  2. If your camera supports Onvif, it may still work if you add it to your system selecting ‘Onvif’ from the Device Type selector. Note, that while Onvif is described as an open standard, not all manufacturers implement it adhering to the standards. Additionally, some advanced functionality may not be supported when using Onvif.

    Onvif compliant cameras are not usually considered “plug and play,” meaning that minor software revisions may be necessary to receive metadata regarding motion data or other signals.<br><br>
  3. If your camera provides an RTSP video stream, a final option may be to use the ‘RTSP’ Device Type. This would allow ExacqVision to record the video stream only. Features such as motion data, analytics, and inputs/outputs are not supported via RTSP.

Will Exacq support my camera?

While Exacq supports a very large number of cameras, that cover a wide range of capabilities and features, we also understand that your particular camera or firmware may not be listed as supported.

What can you do? See the below section.

Submit a request for testing

  1. From the IP Camera Integrations database, click Can’t Find Camera?
  2. Complete the New IP Camera Integration Suggestion form.
  3. Check ‘I’m not a robot,’ to pass the Captcha test.
  4. Click Submit Form.

This form will provide your request to our Product Team for consideration. Please be aware that we plan our releases months in advance, and we can not guarantee that support for your camera will be available in a specific time frame. If you have a sizeable project that requires a camera we do not support please contact Sales to discuss your requirements.

<br>