Device
Checkout configuring your device for a brief walk-through.
When initially creating a device not all configuration areas will be available. Only after saving will you see all of the configuration sections. You can simply add a "Name" and click "Create" to continue configuration with "All" sections available.
Basic settings
Configure Via Onvif - Used to try and automatically import device configuration utilizing the Onvif protocol.
Attribute | Description |
---|---|
Device Name | Descriptive name for the device. |
Storage Area | Where should media created by this device be stored. |
Hub | Which hub should manage and monitor this device. |
Automatically restart? | Should we automatically restart the stream if it crashes for any reason? |
Show Advanced Settings | Should we show all the advanced options. |
Automatically Restart Stream on Update | Most setting changes require the stream to be restarted. This ensures the stream is restarted when saved. |
Input Source Settings
Settings related to configuring the camera video/audio sources
There are a few different input source types RTSP, URL, Local Device, and UI
RTSP
An example RTSP url may look like the following: rtsp://someuser:[email protected]:554/ch0_0.h264
The following portions of the url correspond to the following configuration fields.
- Username => someuser
- Password => somepass
- Host => 192.168.1.27
- Port => 554
- Path => /ch0_0.h264
Attribute | Description |
---|---|
RTSP Username | Username to connect to the device. |
RTSP Password | Password to connect to the device. |
RTSP Host | Host where the device is located. |
RTSP Port | Port used to connect to the device. |
RTSP Path | Path used to connect to the device. |
TCP/UDP transport | What protocol does the device use? Usually TCP |
Hardware Accelerated Decode | Should we try to use hardware accelerated video decoding? |
Use Substream | Should we utilize a substream for detection, live view and montage? If using 4k cameras this can significantly improve performance since we do not need to decode the higher resolution stream. |
Use Substream -> Substream Input Source URI | The entire URI should be used. If the substream requires a password that should be included here too for now. ex. rtsp://username:[email protected]:554/cam/realmonitor?channel=1&subtype=1 |
Use Substream -> Substream Input Options | Any additional options we should pass to ffmpeg. Generally RTSP streams are tcp so the default value is: "-rtsp_transport tcp". However you may need to remove or adjust if you camera uses a different protocol. |
URL
Used when the source is either a mjpeg, jpg or another video source.
Attribute | Description |
---|---|
URL Stream Type | mjpeg, video, jpg (snapshot) mjpeg -> moving jpeg image source video -> any other valid video file which can be accessed over http jpeg (snapshot) -> used to create a video by periodically grabbing an image from the specified source over http |
Input source URI | The URI of the media resource. |
JPEG Update interval | When jpeg (snapshot) stream type is selected, determines how frequent to grab the image. |
Local Device
Used to utilize a device connected directly to a hub as an import source. This is for things like webcams or any other type of video capture device that ffmpeg can utilize as a media source.
Attribute | Description |
---|---|
Input Device Path | The path used to identify the device we want to capture from. |
Generally the "Re-encode Video" option will need to be enabled when utilizing this input type.
OS specific information can be found by selecting this source in StreamShuttle.
UI
This feature is still in progress, but a "UI" device can be setup which allows you to convert any device with a web browser and camera into a device we can monitor. This can be used to convert any cellphone into a security camera.
Please contact support if you would like to know more about this feature.
Monitor Settings
This section is used to configure how and what we we want to monitor from the device.
Attribute | Description |
---|---|
Record Output | Yes / No should we record media from the device? |
What to Record? | Activity Only or Everything. When Activity Only is selected the activity events will only be created when some type of activity (object, motion, audio, manually triggered) is detected. When Everything is selected media is continually recorded in 5 minute intervals (5 minutes by default) |
Maximum Length of activity event | How long in seconds before we create a new activity event. |
Seconds before and after activity to capture | How long in seconds before and after activity should we include in the activity event. |
Do Detection | Should we detect activity for this device? |
Detect Motion | Should we look for motion activity? |
Detect Objects | Should we look for objects activity? |
Detect Audio | Should we trigger activity when audio activity is found? |
Detect Audio - Noise Threshold | The threshold at which the audio is considered noise, in dB. 0 is very loud and -100 is low. ex. if audio is to sensitive then try increasing this number -> closer to 0 |
Detect Audio - Look back seconds | How many seconds should we look back when monitoring audio. |
Detect Audio - Look back seconds threshold | How many of the "look back seconds" must contain audio before activity is triggered. |
Detect Button Presses | Detect button presses from specific devices (usually a doorbell) |
Record Audio | Should we record the audio in addition to the video? |
Re-encode Audio | Should we re-encode audio - it may be necessary to re-encode audio using a more common codec; since some browsers / players may not be able to playback audio from some older devices |
Re-encode Audio - Codec | Codec used to re-encode the audio. * aac by default |
Re-encode Video | Should we re-encode the video - it may be necessary to re-encode video using a more common codec; since some browsers / players may not be able to playback video from some older devices. |
Notification Settings
The following settings determine which types of notifications this device will emit. The default settings are good starting point for most people. Meaning you will only really get alerts when it really thinks there is new object activity. After tuning things like motion zones enabling motion alerts may make sense as long as there aren't too many false positives.
Regardless of the alert settings, activity is always recorded. This just determines if an alert would be emitted or not.
External notifications are things like Push notifications, notifications via discord or any future services that may be integrated. Internal notification are simply notifications that pop-up only while in the app interface.
Option | Default |
---|---|
Send internal notifications when motion is detected | Yes |
Send external notifications when motion is detected | No |
Send internal notifications when audio is detected | Yes |
Send external notifications when audio is detected | No |
Send internal notifications when objects are detected | Yes |
Send external notifications when objects are detected | Yes |
Send internal notifications when external triggers are called | Yes |
Send external notifications when external triggers are called | No |
PTZ Settings
The PTZ section is used to configure the Pan, Tilt, Zoom settings for the device.
Option | Description |
---|---|
Has Ptz | Yes / No. Does this device support PTZ functionality ? |
Ptz Type | Onvif / Http. Generally this should be Onvif which means the device also needs to have been "Configured Via Onvif" option to work. If your device also supports PTZ via http calls you can utilize the HTTP method. This requires you to configure URLS for all the PTZ actions. * Be sure to include the username / password in each action url even if set in the input source settings. |
Auto Stop | Should we send a stop command after each PTZ command ? This should be "Yes" in most cases or the device may continuously pan. |
Live Audio Settings
This area is used to configure the live audio settings for the device. Specifically if we should enable live audio playback and whether or not two-way audio is supported.
Option | Description |
---|---|
Enable Live Audio | Enable the ability to listen to the live audio from the camera, this can be enabled even if the audio is not set to record |
Enable Speak | Enable the ability to speak through the camera using two-way audio. Currently only tested for Amcrest / Reolink devices |
Speak Method | HTTP or Neolink. HTTP uses http to post audio using the specific parameters to the device. *neolink (for reolink devices) must be installed manually |
Codec | The audio codec the camera expects. |
Rate | The audio rate the camera expects. |
Channels | How many audio channels to encode. |
Format | Which format is the audio in. |
Headers | Any additional headers the device may require. |
Digest | Does the device require HTTP digest authentication ? |
Url | The URL used to post the audio to the device. |
Retention Settings
This area is used to define how long we should keep events from this devices before they are automatically removed. Normally you don't need to adjust these unless you would like to remove this devices media events before the "default" (time / storage usage) prune settings.
By default all (unarchived) events will be removed "oldest first" until the storage area usage is less than "Max media event usage percent"
- The "Max media event usage percent" can be set on each storage area. If it's not set on the storage area, it will fall back to the "global" setting "media-events/prune/maxDiskUsagePercent" which is 90% by default.
By default all (unarchived) events are removed after 28 days. (672 hours)
- The "global" fallback setting which controls this is "media-events/prune/removeAfter"
Option | Description |
---|---|
Max Disk Usage | Max size in GB this device can use. Default (-1) which is unlimited. If set to -1 it will fallback to storage area settings |
Remove after (hours) | Number of hours to keep media events. Default (-1) which is forever. If set to -1 it will fall back to the global "media-events/prune/removeAfter" setting |
Schedule Settings
This area is used to configure the run schedule for the device. When enabled we can select times in the time slot grid where the monitor should be on or off.
When the scheduler functionality is enabled, it will take precedent over the "Automatically Restart" option. As it will always be restarted if current time is in an "active time slot" and always stopped if current time is in an "inactive slot".
You can click a on a row in the "Time" column to toggle all days for that time slot. You can also click on any day header to toggle all times for that day.
The current time slot is "highlighted".
Option | Description |
---|---|
Enable Schedule | Toggles the scheduling functionality and the time slot grid. Once enabled the device will only run during the selected time slots. |
Activity Zones
You can edit the activity zones by clicking "Edit Zones" from the device edit page, or the actions drop-down on the device listing page. This option will only be visible once motion or object detection is enabled.
* Device stream will need to be restarted after updating any zone information before the changes will take effect.
The activity zones are used to configure what StreamShuttle considers "activity" on a per zone basis. Currently there are two types of zones motion zones and object exclusion zones.
The object detection settings apply globally to the entire frame.
Motion Zones
Initially when a device is created there are 0 zones and StreamShuttle will use the entire frame for motion detection. However after a zone is defined StreamShuttle instead only looks at each specific zone for activity.
Object Exclusion Zones
StreamShuttle will use the entire frame for object detection. However after an exclusion zone is defined StreamShuttle will ignore the detected object if the center of the object is within the exclusion zone.
Option | Description |
---|---|
Add Motion Zone | Used to define a new motion zone. After clicking this button you can click around the image to begin creating the zone. Clicking the "starting" again point will complete the zone. |
Add Object Zone | Used to define a new object EXCLUSION zone. After clicking this button you can click around the image to begin creating the zone. Clicking the "starting" again point will complete the zone. |
Delete Selected Zone | Deletes the currently selected zone. |
Clear All Zones | Clears all zones. |
Save Zones | Saves all zone settings. |
After a zone is created you can then "select" (click) the zone itself to show the zone specific configuration settings.
You must click "Save Zones" after making any zone changes and you will need to manually restart the Device stream.