Integrate Vivotek IP cameras via RTSP and ONVIF for direct local streaming. Full support for dome, bullet, and fisheye cameras with VAST management software integration.
AgenticEye supports direct RTSP and ONVIF integration with Vivotek's full IP camera lineup, including fisheye models with dewarping support.
Use these URL formats to connect Vivotek cameras directly to AgenticEye or test with tools like VLC and ONVIF Device Manager.
# Primary stream (highest quality)
rtsp://[username]:[password]@[ip]:554/live.sdp
# Secondary stream (lower resolution, less bandwidth)
rtsp://[username]:[password]@[ip]:554/live2.sdp
# Third stream (if configured)
rtsp://[username]:[password]@[ip]:554/live3.sdp
# Example with real values
rtsp://admin:[email protected]:554/live.sdp
# Fisheye cameras — dewarped sub-streams
rtsp://admin:[email protected]:554/live_dewarped1.sdp
rtsp://admin:[email protected]:554/live_dewarped2.sdp
# ONVIF service endpoint
http://[ip]:80/onvif/device_service
# ONVIF media service
http://[ip]:80/onvif/media_service
# ONVIF PTZ service (for PTZ-capable models)
http://[ip]:80/onvif/ptz_service
# ONVIF port: 80 (default)
# ONVIF profiles supported: S, T, G
# JPEG snapshot (requires authentication)
http://[username]:[password]@[ip]/cgi-bin/viewer/video.jpg
# MJPEG stream
http://[username]:[password]@[ip]/cgi-bin/viewer/video.jpg?streamid=0
# CGI API for camera info
http://[ip]/cgi-bin/admin/getparam.cgi?system
Follow these steps to configure your Vivotek cameras for RTSP/ONVIF streaming and connect them to AgenticEye.
Open a web browser and navigate to your camera's IP address. Log in with admin credentials. If this is the first setup, you will be prompted to create a password.
# Navigate to the camera's web interface
http://192.168.1.100
# Default credentials (first-time setup)
# Username: root
# Password: (set during initial configuration)
# If you don't know the camera's IP, use:
# - Vivotek Shepherd utility (Windows)
# - ONVIF Device Manager
# - Network scanner: nmap -sP 192.168.1.0/24
Navigate to Configuration > Media > Video to configure stream profiles. Vivotek cameras support up to three simultaneous RTSP streams with different resolution and codec settings.
# Stream 1 (Primary — for recording and AI analysis)
Codec: H.265 (HEVC)
Resolution: 2560x1920 (5MP) or 1920x1080 (1080p)
Frame Rate: 15-20 fps
Bitrate: 4096 kbps (CBR) or Quality 80 (VBR)
GOP: 30 (2 seconds at 15fps)
# Stream 2 (Secondary — for live preview)
Codec: H.264
Resolution: 640x480 or 1280x720
Frame Rate: 10-15 fps
Bitrate: 1024 kbps
# Stream 3 (Mobile / low-bandwidth)
Codec: H.264
Resolution: 320x240
Frame Rate: 5-10 fps
Bitrate: 256 kbps
H.265 vs H.264: H.265 provides roughly 50% better compression at the same quality, reducing bandwidth and storage requirements. However, ensure your AgenticEye deployment supports H.265 decoding. H.264 offers broader compatibility if you are unsure.
Navigate to Configuration > Network > ONVIF to enable the ONVIF service. Create an ONVIF user account (may differ from the web admin account on some firmware versions).
# In the camera web interface:
# Configuration > Network > ONVIF
Enable ONVIF: Yes
ONVIF Port: 80
WS-Discovery: Enabled
ONVIF Authentication: Enabled
# Create ONVIF user credentials
Username: onvif_admin
Password: (set a strong password)
User Level: Administrator
# Verify ONVIF with curl:
curl -X POST http://192.168.1.100/onvif/device_service \
-H "Content-Type: application/soap+xml" \
-d '<?xml version="1.0"?>
<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope">
<s:Body>
<GetDeviceInformation
xmlns="http://www.onvif.org/ver10/device/wsdl"/>
</s:Body>
</s:Envelope>'
Before adding the camera to AgenticEye, verify the RTSP stream is working correctly using VLC, FFmpeg, or another media player.
# Test primary RTSP stream with FFmpeg
ffmpeg -rtsp_transport tcp \
-i "rtsp://admin:[email protected]:554/live.sdp" \
-frames:v 1 test_snapshot.jpg
# Test with VLC (GUI)
vlc "rtsp://admin:[email protected]:554/live.sdp"
# Check stream details
ffprobe -rtsp_transport tcp \
"rtsp://admin:[email protected]:554/live.sdp"
# Expected output:
# Stream #0:0: Video: h265, 2560x1920, 15 fps
# Stream #0:1: Audio: aac, 8000 Hz (if audio enabled)
Register the RTSP stream as a source in AgenticEye. You can add cameras via the web dashboard or the AgenticEye API.
# Register camera via AgenticEye API
curl -X POST "https://api.agenticeye.com/v1/sources" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Vivotek FD9189-HT - Lobby",
"type": "rtsp",
"url": "rtsp://admin:[email protected]:554/live.sdp",
"protocol": "rtsp_tcp",
"codec": "h265",
"resolution": "2560x1920",
"fps": 15,
"onvif": {
"enabled": true,
"host": "192.168.1.100",
"port": 80,
"username": "onvif_admin",
"password": "onvif_password"
},
"tags": ["vivotek", "dome", "lobby"]
}'
For Vivotek fisheye cameras (FE9191, FE9382-EHV), configure the dewarping settings to extract multiple virtual PTZ views from the 360-degree panoramic image.
# Fisheye cameras provide multiple dewarped views:
# Original fisheye (full 360° view)
rtsp://admin:[email protected]:554/live.sdp
# Dewarped panorama view
rtsp://admin:[email protected]:554/live_dewarped1.sdp
# Dewarped regional views (virtual PTZ)
rtsp://admin:[email protected]:554/live_dewarped2.sdp
rtsp://admin:[email protected]:554/live_dewarped3.sdp
rtsp://admin:[email protected]:554/live_dewarped4.sdp
# Configure mounting position in web admin:
# Configuration > Media > Dewarping
# Mount Type: Ceiling / Wall / Floor
# This affects the dewarping algorithm used
# AgenticEye can also perform server-side dewarping
# if you send the raw fisheye stream and specify:
{
"dewarping": {
"enabled": true,
"mount": "ceiling",
"lens": "vivotek_fe9191"
}
}
If you use Vivotek VAST 2 for centralized camera management, you can connect AgenticEye through the VAST API for streamlined multi-camera deployments.
# VAST 2 REST API base URL
https://[vast-server]:443/vast/api/v1
# Get all cameras managed by VAST
GET /cameras
Authorization: Bearer {vast_api_token}
# Get RTSP stream URL for a VAST-managed camera
GET /cameras/{camera_id}/streams
Authorization: Bearer {vast_api_token}
# Response includes direct RTSP URLs:
{
"streams": [
{
"profile": "stream1",
"url": "rtsp://vast-server:554/proxy/cam01/live.sdp",
"codec": "H.265",
"resolution": "2560x1920"
}
]
}
# VAST can relay RTSP streams, useful when cameras
# are on isolated VLANs not directly accessible
VAST Proxy Streams: When using VAST as an RTSP proxy, the stream URL points to the VAST server instead of the camera directly. This is useful for cameras on isolated network segments but adds a small amount of latency. For lowest latency, connect to cameras directly whenever possible.
Verify the RTSP URL format is exactly rtsp://user:pass@ip:554/live.sdp. Check that port 554 is open and not blocked by a firewall. Try both TCP and UDP transport modes. If using special characters in the password, URL-encode them (e.g., %40 for @). Confirm the camera's RTSP service is enabled under Configuration > Network > RTSP.
Vivotek uses /live.sdp for the primary stream, /live2.sdp for secondary, and /live3.sdp for the third profile. Other formats like /stream1 or /ch0 will not work. If you upgraded firmware and the stream stopped working, verify the stream path has not changed in the firmware release notes.
Incorrect mounting position settings cause distorted dewarped views. Access Configuration > Media > Dewarping and set the correct mount type (Ceiling, Wall, or Floor). The dewarping algorithm differs significantly based on this setting. After changing mount type, restart the camera for the setting to take effect on all streams.
Ensure WS-Discovery is enabled in the ONVIF settings. The ONVIF port must match what the discovery client expects (default: 80). Some network switches block multicast packets required for WS-Discovery — verify multicast is enabled on your network. As a fallback, add the camera manually using http://[ip]:80/onvif/device_service.
H.265 decoding requires significantly more CPU than H.264. If the AgenticEye server shows high CPU utilization, switch the camera to H.264 encoding or reduce the resolution. Alternatively, enable hardware-accelerated decoding (NVDEC, QuickSync, or VAAPI) on the AgenticEye server.
If connecting through VAST proxy and experiencing timeouts, check the VAST server's resource utilization. VAST relay streams consume server bandwidth and CPU. Ensure the VAST server has sufficient capacity for the number of proxied streams. Consider connecting directly to cameras when possible.
Our integration team can help you configure RTSP streams, ONVIF profiles, and fisheye dewarping for your Vivotek deployment.
Contact Our Integration Team